ホーム DoRuby パスフレーズなしでSCP(秘密鍵の場合)

パスフレーズなしでSCP(秘密鍵の場合)

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

パスフレーズなしでSCPをする方法としてはssh-agentを使う方法や、 秘密鍵を使う方法がありますが、今回は後者の秘密鍵を使う方法をご紹介します。

まず転送先のサーバで秘密鍵と公開鍵を作成します。
ここでポイントなのが秘密鍵はパスワードなしで作成するということ。
パスワードなしでも秘密鍵自体を盗まれなければ危険はありません。

(転送先での作業)
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa):
Created directory ‘/home/hoge/.ssh’.
Enter passphrase (empty for no passphrase): (未入力でEnter)
Enter same passphrase again: (未入力でEnter)
Your identification has been saved in /home/hoge/.ssh/id_rsa.
Your public key has been saved in /home/hoge/.ssh/id_rsa.pub.
The key fingerprint is:
6e:f3:a4:af:aa:84:9f:d3:b2:92:84:69:34:10:21:b9 hoge@scp-to

次に作成した公開鍵(id_rsa.pub)を転送元に設定します。
※安全のため、公開鍵を設定するauthorized_keys2のパーミッションは、所有者に対しては read/write を許可し、他のユーザーには、アクセスを許可しないで下さい。

(転送元での作業)
$ vi ~/.ssh/authorized_keys2
### id_rsa.pubの内容をコピペ ###
ssh-rsa ****************************
$ chmod 600 ~/.ssh/authorized_keys2

これでパスフレーズなしでSCPができるはずです。
試してみます。

(転送元での作業)
$ echo “scp test” > /var/tmp/scp-test.txt
$ scp /var/tmp/scp-test.txt hoge@scp-to:/var/tmp
scp-test.txt 100% ****************************| 9 00:00

できました!

記事を共有

最近人気な記事