0

私は通常、scp次のように使用します。

myUser@myMachine:~/myapp$ scp devops@myserver.org:/path/to/bin/*.derp .
devops@myserver.org's password: ********
herp1.derp                                100%  732     0.7KB/s   00:00    
herp2.derp                                100%  215     0.2KB/s   00:00    
herp3.derp                                100%  682     0.7KB/s   00:00    
myUser@myMachine:~/myapp$

私は今、特にこれを行うBashスクリプトを書きたいと思っていますが、パスワードはスクリプトに保存されており、スクリプトはユーザーに入力を求めません:

sh dostuff.sh

それを実行するだけで、scpすべての*.derpファイルがユーザーのローカル ディレクトリに移動します。

だから私は尋ねます:どうすればscpスクリプト内からパスワードを提供できますか?前もって感謝します!

4

1 に答える 1

2

シェル スクリプトでパスワードをハードコーディングする代わりに、SSH キーを使用します。より簡単で安全です。

$ scp -i ~/.ssh/id_rsa devops@myserver.org:/path/to/bin/*.derp .

あなたの秘密鍵が~/.ssh/id_rsa

公開鍵と秘密鍵のペアを生成するには:

$ ssh-keygen -t rsa

上記により、~/.ssh/id_rsa(秘密鍵) と~/.ssh/id_rsa.pub(公開鍵)の 2 つのファイルが生成されます。

使用する SSH キーをセットアップするには (1 回限りのタスク): の内容をコピーして、サーバーの新しい行に~/.ssh/id_rsa.pub新しい行に貼り付けます。存在しない場合は、自由に作成してください。~devops/.ssh/authorized_keysmyserver.org~devops/.ssh/authorized_keys

明確なハウツー ガイドは、こちらから入手できます。

于 2013-04-24T02:10:36.467 に答える