ssh-agentを使ってみた

いつもRubyを勉強していましたが、今日はsshのことを書きます。sshで頭がごっちゃになっているので、ここで整理します。メモ書きになっちゃうけど、気にしない!

ssh-agentとは公開鍵認証で使われる認証鍵を保持するプログラムです。例えば、サーバが複数あるとします。全てのサーバには自分の公開鍵が登録してあります。自分がその内の一つのサーバ1に接続します。さらに、他のサーバ2へ接続したい時サーバ1を出る必要なくサーバ2へ公開鍵を使って入れるようにするプログラムです。

ssh-agent   // ssh-agent起動
ssh-add     //公開鍵を登録

これでサーバに繋ぐ時、パスワードを入力する必要がないので便利やぁ〜!!!便利ついでに、ログインした際にssh-agentが起動するように設定します。そこで、bashをいじるのですが、bashについてわからなかったのでそこから調べていきます。


linuxのコマンドは、シェルによって実行ファイルが実行されています。よって、"ls"コマンドはシェルが"ls"という実行ファイルを実行すると解釈されています。bashは標準入力やファイルから読み込んだコマンドを実行するコマンド言語インタプリタです。ログインした時、.bash_profileを読み込み実行し、ログアウトした時は.bash_logoutを読み込んで実行します。

そこで、.bash_profileには

eval `ssh-agent`
ssh-add

以上のように記述し、ログインした際にssh-agentが起動するように設定します。終了する際にはログアウト時に読み込まれる.bash_logoutファイルに

ssh-agent -k

と記述してssh-agentを終了します。

また、.bashrcにaliasを使って自分オリジナルのコマンドを作ると便利だってことも学んだ!!!時間あったらコマンド作りたいです。