私は毎日sshを通してサーバーに接続しています。私はこのルーチンを通過します:
IC001:Desktop user$ ssh [email protected]
[email protected]'s password:
Last login: Tue Jun 4 10:09:01 2013 from 0.0.0.0
$
私はこのプロセスを自動化して私のためにそれをするためのbashスクリプトを作成したいと思います。セキュリティを気にする必要はありません。パスワードをスクリプトに公開して格納してもかまいません。スクリプトが実行されている間に、画面上で公然と入力されても構いません。だから私はこれを作成しました:
#!/bin/bash
ssh [email protected]
echo mypassword
しかし、うまくいきません。 send
の代わりにecho
を試してみましたが、うまくいきませんでした。それが可能であるかどうかアドバイスしてください。
あなたがキーを使用することができないかどうか再確認してください。
それ以外の場合はexpectを使用します。
#!/usr/bin/expect -f
spawn ssh [email protected]
expect "assword:"
send "mypassword\r"
interact
新しい鍵ペアを作成します。(デフォルトのままにします)
ssh-keygen
公開鍵をサーバーにコピーします。(前回のパスワード)
ssh-copy-id [email protected]
今からサーバー上であなたの鍵を認識し、もうパスワードを要求しないようにする必要があります。
ssh [email protected]