こんにちわlisです!
ssh
やscp
など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
書いたらターミナルを再起動しましょう。
これをすることでターミナル起動/再起動時に、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鍵なら、ログイン時のパスワード入力以外はパスワードを求められません!
ssh
やscp
するときもらくらくですね!
ただし鍵ごとのパスワード自体は忘れないように要注意です!
参考
コチラを参考にしました。ありがとうございました!
https://h2plus.biz/hiromitsu/entry/791h2plus.biz
あとがき
ssh-addでパスワードフリーなSSH接続を楽しようでした!
これを覚えてから凄い楽になりました。
是非試してみてください!