RACをインストールするためのoracleノードのインストールを高速化しようとしています。これを行うには、パスワードの入力を求められないようにsshをインストールして設定する必要があります。
問題は、私たちが初めて使用したときにシステムが私たちにメッセージを表示することです。
RSA key fingerprint is 96:a9:23:5c:cc:d1:0a:d4:70:22:93:e9:9e:1e:74:2f.
Are you sure you want to continue connecting (yes/no)? yes
これを避ける方法はありますか?または、サーバーごとに少なくとも1回は手動で接続する必要がありますか?
答え1
2019年12月に更新されました:
Chris Adamsが以下に指摘したように、Opensshはこの回答が書かれてから6.5年間かなり変更されており、以下の元の提案よりはるかに安全な新しいオプションがあります。
* ssh(1): expand the StrictHostKeyChecking option with two new
settings. The first "accept-new" will automatically accept
hitherto-unseen keys but will refuse connections for changed or
invalid hostkeys. This is a safer subset of the current behaviour
of StrictHostKeyChecking=no. The second setting "off", is a synonym
for the current behaviour of StrictHostKeyChecking=no: accept new
host keys, and continue connection for hosts with incorrect
hostkeys. A future release will change the meaning of
StrictHostKeyChecking=no to the behaviour of "accept-new". bz#2400
StrictHostKeyChecking no
したがって、ファイルに設定するssh_config
代わりにStrictHostKeyChecking accept-new
。
StrictHostKeyChecking no
ファイルに設定する/etc/ssh/ssh_config
と、サーバー上のすべてのユーザーのグローバルオプションになります。または、~/.ssh/config
現在のユーザーにのみデフォルト値になるファイルを設定してください。または、コマンドラインで使用できます。
ssh -o StrictHostKeyChecking=no -l "$user" "$host"
動作方法の説明は次のとおりです。man ssh_config
(または参照今回のアップデート版):
StrictHostKeyChecking
このフラグが「yes」に設定されている場合SSHホストキーは
$HOME/.ssh/known_hosts
ファイルに自動的に追加されず、ホストキーが変更されたホストへの接続は拒否されます。これはトロイの木馬攻撃に対して最大限の保護を提供しますが、/etc/ssh/ssh_known_hosts
ファイルが正しく保守されていない場合、または新しいホストに頻繁に接続されている場合は迷惑です。このオプションを使用すると、ユーザーはすべての新しいホストを手動で追加する必要があります。このフラグが「no」に設定されている場合SSH新しいホストキーは、ユーザーの既知のホストファイルに自動的に追加されます。このフラグが「ask」に設定されている場合、ユーザーが実際に実行したい操作であることを確認するまで、新しいホストキーはユーザーの既知のホストファイルに追加されません。 SSHホストキーが変更されたホストへの接続は拒否されます。既知のホストのホストキーは、すべての場合に自動的にチェックされます。引数は「はい」、「いいえ」、または「質問」でなければなりません。デフォルトは「質問」です。
答え2
ssh-keyscan
- SSH公開鍵の収集
接続するホストのリストが既にわかっている場合は、単に次のようにします。
ssh-keyscan host1 host2 host3 host4
-H
これで、sshがデフォルトで行うように結果をハッシュすることを選択できます。
君もあげることが-t keytype
できるボタンタイプはいdsa
、rsa
またはecdsa
主キーの代わりにインポートするキータイプを選択したい場合。
一度実行されると、ssh-keyscan
既知のホストファイルが事前入力され、sshは新しいキーを追加する権限を要求しません。
答え3
ホストを無視
HostKeyChecking を無視します。この目的のために、私は例えば次のように使用します。
ssh -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null [email protected]
ホストの追加
.ssh/known_hosts
初めて接続する前に、ホスト/サーバーの指紋を追加してください。これがより安全な方法です。
答え4
試す前に、次のコードを実行してください。
mkdir -p ~/.ssh
echo "Host *" > ~/.ssh/config
echo " StrictHostKeyChecking no" >> ~/.ssh/config
ps:本番サーバーには厳密には適用されません。 ManInMiddleに注意してください。