Help us understand the problem. What is going on with this article?

SSH で毎回パスフレーズを入れるのが面倒だと思ったときには

SSH で公開鍵認証を使う時に毎回パスフレーズを入れるのは面倒ですよね?
そこで、よい仕組みがあります。
それが
ssh-agent

ssh-add
です。

細かい話は置いておきますが、この二つを組み合わせるとパスフレーズを毎回入れる必要がなくなります。
まず、ssh-agent を実行します。

$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-YQW9LjOQAQSF/agent.3090; export SSH_AUTH_SOCK;
SSH_AGENT_PID=3091; export SSH_AGENT_PID;
echo Agent pid 3091;

なんか出てきましたね、これは、環境変数と PID(ProcessID)です。

難しい話は省きますが、これを Shell に覚えこませればよいので、eval を使用します。eval の解説はまた別の機会に。

$ eval `ssh-agent`

これでオーケーです。
次に ssh-add を使用します。

$ ssh-add ~/.ssh/id_rsa_hoge

ここで、SSH のエージェントに id_rsa_hoge という秘密鍵を教えさせます。教える際にはパスフレーズが必要です。

$ ssh-add ~/.ssh/id_rsa_hoge
Enter passphrase for /home/mishihara/.ssh/id_rsa_hoge: ←ここでパスフレーズの入力をする。 
Identity added: /home/mishihara/.ssh/id_rsa_hoge (/home/mishihara/.ssh/id_rsa_hoge)

これで、エージェントに鍵が登録できました。

ワンライナーで鍵登録をもっと便利に

上記を組み合わせた複合技を私は使っています。

~/.bashrc
alias ssh-add='if [ -z "$SSH_AGENT_PID" ]; then eval `ssh-agent`;fi; ssh-add ~/.ssh/id_rsa_hoge'

これで、ssh-add を実行したときに ssh-agent が立ち上がっていないときには ssh-agent を立ち上げてから ssh-add を実行しているのです。

毎回 SSH の鍵を指定してログインしている人にはこの処方箋

毎回 SSH の秘密鍵を

$ ssh -i ~/.ssh/id_rsa_hoge foo@bar

のように設定するのは面倒ですので、この場合には~/.ssh/config を設定します。

~/.ssh/config
Host * ← すべてのログインに関して
ForwardX11 yes ←X11の転送をお願いする
ForwardAgent yes ←エージェントを使う(これはまたいつかの機会に)
ServerAliveInterval 120 ←(これもまたの機会に)

Host bar ← barというサーバを示すための単なる識別子
Hostname 192.168.XXX.YYY ←サーバの名前または IP アドレス
User foo ←あなたがサーバにログインするときにユーザ名
IdentityFIle ~/.ssh/id_rsa_hoge ←秘密鍵

これを設定しておけば、パスフレーズを毎回打つことなくログイン可能になります。
以下のように打てばオーケー

$ ssh bar

簡単に入れるようになりました。

以上!!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away