lisz-works

プログラミングと興味を貴方に

ssh-addでパスワードフリーなSSH接続を楽しよう!

【スポンサーリンク】

Windows x Linux

こんにちわlisです!

sshscpなどSSH接続をしようとする度にパスワードを求められる……

面倒じゃないですか?

そんなときはssh-addを使ってパスワードフリーにしちゃいましょう!

なにができるの?

SSH鍵をパスワード付きで作成すると、SSH接続時に毎回パスワードを求められますよね?

$ ssh xxx
Enter passphrase for key '/home/lis/.ssh/id_rsa':

このパスワード入力を省略できちゃいます。

ssh-agentの自動起動設定

こちらに記載されているコードを、.bashrcに書きます。

# Setup ssh-agent
if [ -f ~/.ssh-agent ]; then
. ~/.ssh-agent
fi
if [ -z "$SSH_AGENT_PID" ] || ! kill -0 $SSH_AGENT_PID; then
ssh-agent > ~/.ssh-agent
. ~/.ssh-agent
fi
ssh-add -l >& /dev/null || ssh-add

引用: https://h2plus.biz/hiromitsu/entry/791

書いたらターミナルを再起動しましょう。

これをすることでターミナル起動/再起動時に、id_rsaのパスワードが求められ、以降登録済みの鍵のパスワード入力が不要になります。

初回起動時(id_rsaのパス登録)

ターミナルを起動すると、id_rsaのパスワードを聞かれるので入力します。

Enter passphrase for /home/lis/.ssh/id_rsa:
Identity added: /home/lis/.ssh/id_rsa (/home/lis/.ssh/id_rsa)

以降ターミナルを開き直したとしても、id_rsaに対するパスワードを聞かれることなく処理することができます。

id_rsa以外の設定

SSH鍵を分けている場合、自分で登録してあげます。

$ ssh-add ~/.ssh/hoge
Enter passphrase for /home/lis/.ssh/hoge:
Identity added: /home/lis/.ssh/hoge (hoo@bar)

ターミナルを開き直して、「ssh-add -l」で登録済みSSH鍵を確認すると、ちゃんと登録されています。

$ ssh-add -l
4096 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx /home/lis/.ssh/id_rsa (RSA)
3072 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx hoo@bar (RSA)

これでSSH接続もパスワードいらず!

これで登録済みのSSH鍵なら、ログイン時のパスワード入力以外はパスワードを求められません!

sshscpするときもらくらくですね!

ただし鍵ごとのパスワード自体は忘れないように要注意です!

参考

コチラを参考にしました。ありがとうございました!

laboradian.com

www.wakuwakubank.com

https://h2plus.biz/hiromitsu/entry/791h2plus.biz

あとがき

ssh-addでパスワードフリーなSSH接続を楽しようでした!

これを覚えてから凄い楽になりました。

是非試してみてください!

www.lisz-works.com

www.lisz-works.com