sshの設定(passwordなしでsshログイン(scp)する)

More than 1 year has passed since last update.


パスワードなしでscp

まずは、

(1) ssh-keyを作る。

$ ssh-keygen -t rsa

すると、

Enter file in which to save the key (/home/<user>/.ssh/id_rsa):

と、「どこに鍵を保存しますか」と言われるので、特に問題がなければEnterを押してデフォルトのディレクトリ(~/.ssh/)に保存する。

次に、パスフレーズの設定を要求される

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

ここでは、パスフレーズなしにしたいので、何も入力せずに、Enterを2回押す。

$ ls ~/.ssh

id_rsa id_rsa.pub

これで鍵が~/.sshの中にできた。

(2) sshしたいサーバー側に公開鍵(public key)を覚えさせる。

$ ssh-copy-id -i ~/.ssh/id_rsa.pub <user name>@<ip address>:

ユーザーのパスワードが要求されるので入力すると、

サーバー側にログインして、~/.ssh/authorized_keysというファイルの中にpublic keyが保存されていることが確認できる。

おわり。

これで、これからsshやscpするときにパスワードなしで実行できる。


追記


  • 別の方法

sshpassコマンドの利用。以下をスクリプトにして,使うとパスワードを入力する手間が省けるが,スクリプト内にパスワードが露呈してしまう問題点がある。

sshpass -p "your password" scp ./abc.txt <hostname>:/abc.txt