Server1 でこのコマンドを使用します。
~# ssh root@Server2 /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
Server2の内容をServer1の内容id_rsa.pub
に追加します。authorized_keys
手動で実行しますが、予想されるスクリプトで実行すると機能します。
#!/usr/bin/expect
set timeout 60
spawn ssh root@[lindex $argv 0] cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
expect "yes/no" { send "yes\r"
expect "*?assword" { send "[lindex $argv 1]\r" }
} "*?assword" { send "[lindex $argv 1]\r" }
interact
このスクリプトを使用すると、id_rsa.pub
Server2 がauthorized_keys
Server2 に接続されます。
正しい構文は何ですか?
ベストアンサー1
予想はシェルではないので、解釈>>
する代わりにsshに引数として渡されます。
努力するspawn bash -c "ssh root@[lindex $argv 0] cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys"