ssh-agentの使い方や秘密鍵の転送機能もご紹介!

ssh-agentの使い方や秘密鍵の転送機能もご紹介!のアイキャッチイメージ

ssh-agentの便利な使い方を紹介します!


今回は、ssh-agentの便利な使い方を紹介します。

通常、ssh接続時にはパスフレーズを入力しますが、毎回入力するのは面倒です。そこで、秘密鍵を登録することでパスフレーズを入力不要にしてくれるのがssh-agentです。ssh-agentには、秘密鍵の転送機能もあります。これらの使い方について紹介します。

ssh-agentに興味のある方はぜひご覧ください。

公開鍵と秘密鍵の作成

ssh-keygenコマンドで、公開鍵と秘密鍵を作成します。クライアント側はWSL2(Windows Subsystem for Linux 2)のubuntsとします。実際のコマンドを見てみましょう。

.ssh/id_rsa.pub(公開鍵)が作成されますので、内容をクリップボードにコピーしてください。

SSHサーバーの設定

PaizaCloudにログインしてサーバーを作成します。ユーザー登録していない場合は、無料でユーザー登録できます。また、サーバーも無料で作成できます。
https://paiza.cloud/ja/

サーバー作成時には、「SSH利用」にチェックを付けて、「Public keys」にid_rsa.pubの内容を張り付けて「新規サーバ作成」をクリックしてください。PaizaCloudをsshサーバーとします。

サーバーが起動したら、画面左上のプルダウンメニューから「SSH設定」を選択してください。
「SSH Command」をクリップボードにコピーしておいてください。「Public keys」にはサーバー生成時に指定したid_rsa.pubの内容が表示されています。

ssh-agentの起動・終了

ssh-agentの起動・終了方法について紹介します。ssh-agentは以下のコマンドで起動します。起動していることはpsコマンドで確認できます。

ssh-agentは以下のコマンドで終了します。psコマンドを使えば、ssh-agentが終了していることが分かります。

秘密鍵の登録

ssh-agentを使った秘密鍵の登録方法を紹介します。クライアント側でssh-agentを起動した状態で、「ssh-add」コマンドを実行します。その後、パスフレーズを入力してください。

秘密鍵が登録されていることを「ssh-add -l」コマンドで確認できます。

この状態でPaizaCloudのsshサーバにssh接続してみます。PaizaCloud画面左上のプルダウンメニューから「SSH設定」にssh接続のコマンドが記載されていますので、利用してください。

パスフレーズなしでssh接続できました。

秘密鍵の転送

ssh-agentを使った秘密鍵の転送方法を紹介します。ssh接続先で「ssh-add -l」コマンドを実行してみます。

秘密鍵は何も登録されていません。exitコマンドで接続を終了してください。

秘密鍵を転送するには、以下のように-Aオプションを付与します。

接続先で「ssh-add -l」コマンドを実行すると、秘密鍵が登録されています。ssh-agentの機能で秘密鍵が転送されました。

~/.ssh/configファイルでForwardAgentを有効にすれば、-Aオプションと同じことができます。~/.ssh/configファイルはクライアント側に作成します。configファイルがなければ新規作成してください。

configファイルを作成したので、Hostでssh接続できます。

まとめ

いかがでしたでしょうか。ssh-agentの便利な使い方を紹介しました。ssh-agentには、秘密鍵の登録・秘密鍵の転送の機能があります。これらの機能を使うことで、パスフレーズなしでssh接続が可能になります。

ぜひご自身でコマンドを打ち込んで、理解を深めてください。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。