ssh-agentを試してみる。

こんにちは!k-junです。最近ようやく入社した会社での研修が終わり、配属に至りました! インフラ周りの配属となったので、これからインフラ周りの記事をバリバリ書いていけたらなーと思っております!

今回は配属もあり、ssh-agentについて調べてみました。 というより、こちらの記事に書いてあることを実際に試しただけですので、元記事を見たほうが早いかもしれません。

what is ssh-agent

リモートのサーバーにログインしている際に、ローカルのssh-keyを使うことを可能にしてくれるやつみたいですね。最も想像しやすいのがリモートの環境でgit周りをいじるときでしょうか。 https接続でパスワードを毎回入力するのもめんどくさいし、ssh接続にしたいけどリモートのサーバーにssh-keyを置くのは気が引けるみたいな状況ですね。

なにはともわれやってみる。

鍵の登録

$ ssh-add -K ~/.ssh/id_rsa

登録した鍵の一覧

$ ssh-add -l
4096 SHA256:B2IFGY5+NXD2ZNZ2IQPJX25PLDWJQEP87KCJ1A3PFBW keijun.kumagai@MAC

ssh-agentを使用してリモートのサーバーにログイン

$ ssh -A ubuntu@XX.XXX.XXX.XXX

適当にgitのコマンドを叩いてみる。

$ git clone git@github.com:k-jun/private-repository.git

え。できるやん。元記事に設定追加で必要とか書いてあるけど、これは無しでも良いみたい。 今回ログインしたのがubuntu18.04だから良い感じにしてくれていたのかも...?

ForwardAgent yes(ssh-agentを有効にしますよ)と言った設定をしてあげないといけません。

~/.ssh/とか覗いてみたけど、別に特に記述は無し。良い感じにしてくれたみたい。 -Aのオプション無しの場合も検証したがちゃんとgithubからcloneできない。やっぱりよしなにやってくれている気がする。

まとめ

ssh-agentすげぇ。