2013-06-04 5 views
71

毎日私はsshを使ってサーバーに接続しています。私はこのルーチンを実行します:bashを使って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 

しかし、それは動作しません。私もの代わりにechoを試しましたが、それもうまくいきませんでした。できるかどうかアドバイスしてください。

+0

https://help.ubuntu.com/community/SSH/OpenSSH/Keys – Kevin

+4

@Kevin、私はサーバを担当していないです。私はそれらに接続するだけのユーザーです。私はサーバー上のANYTHINGを変更することはできません。 – Prostak

+1

も:http://stackoverflow.com/questions/4780893/use-expect-in-bash-script-to-provide-password-to-ssh-command?rq=1 http://stackoverflow.com/questions/ 13298487/bash-script-to-ssh-a-machine-without-prompting-password-and-without-k-rq = 1 http://stackoverflow.com/questions/3796345/can-i-use -a-heredoc-to-a-password-in-bash?rq = 1 – jm666

答えて

150

ダブルチェックあなたがトンできない場合oキーを使用する。

それ以外の場合は期待し使用します。

#!/usr/bin/expect -f 
spawn ssh [email protected] 
expect "assword:" 
send "mypassword\r" 
interact 
+89

uh ... "assword"は誤植ですか? –

+166

これは、 'Password'と' password'にマッチします。 – michas

+5

TextExpanderでこれを試しましたが、 'spawn:command not found'が出ます。私はキーワードなしでそれを試しましたが、何も起こりません。 – jowie

83

新しい鍵ペアを作成します(デフォルトで行く)

ssh-keygen 

コピーし、サーバへの公開鍵:(前回のパスワード)

ssh-copy-id [email protected] 

を今からサーバー上の必要がありますもうパスワードを尋ねて、あなたのキーを認識しない:

ssh [email protected] 
+0

私はサーバー上で何もすることはできません。それは他の方法で行うことは可能ですか? – Prostak

+0

ログインできない場合、ログインのポイントは何ですか? – michas

+0

ログだけを読む...しかし、それはポイントではありません。 – Prostak

関連する問題