40

あるサーバーから複数のサーバーにファイルを自動的にコピーするシステムを作ろうとしています。その一環として、rsync を使用し、正しく動作する SSH キーをインストールしています。

私の問題は、新しいサーバーに初めて接続しようとすると、確認を求められることです。自動的に受け入れる方法はありますか?

コマンド/出力の例:

rsync -v -e ssh * root@someip:/data/
The authenticity of host 'someip (someip)' can't be established.
RSA key fingerprint is somerandomrsakey.
Are you sure you want to continue connecting (yes/no)? yes
4

3 に答える 3

68

次のように、事前にこのホストのキーを known_hosts に追加できます。

ssh-keyscan $someip >> ~/.ssh/known_hosts
于 2013-08-08T11:06:23.453 に答える
51

それらが本当に新しいホストであり、事前にキーを追加できない場合known_hosts(York.Sar の回答を参照)、このオプションを使用できます。

-e "ssh -o StrictHostKeyChecking=no"
于 2013-08-08T10:26:56.607 に答える
8

これは 3 年前に尋ねられたことは知っていますが、これは私の Google 検索の一番上にあり、Vagrant スクリプトの途中でこれらのソリューションのいずれかを正しく機能させることができませんでした。そこで、どこかで見つけたメソッドをここに置きたいと思いました。

~/.ssh/configそこの解決策は、次のコードブロックでor/etc/ssh/ssh_configファイルを更新することについて話しています。

特定のホスト (remote_host.com など) のホスト キー チェックを無効にするには:

Host remote_host.com
    StrictHostKeyChecking no

接続先のすべてのホストのホスト キー チェックをオフにするには:

Host *
    StrictHostKeyChecking no

ホスト キーの検証を回避し、192.168.1.* サブネットに known_hosts ファイルを使用しないようにするには:

Host 192.168.0.*
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null

これが、この問題に遭遇した他の誰かに役立つことを願っています。

于 2017-01-12T15:31:04.863 に答える