この記事は さくらインターネット Advent Calendar 2023 11日目の記事です。
概要
皆様こんにちは、やすです。
今回は、macOSでVisual Studio Codeの拡張機能の一つである Remote - SSH を使って、パスフレーズ付きで公開鍵認証する際の手順と注意したいことについて共有させてください。
手順
いままでリモートサーバーでのファイル編集などはターミナル上でおこなっていたのですが、Remote SSH 拡張機能の存在を知り早速試してみました。
あらかじめ公開鍵をサーバーに登録しておき、Remote SSHをマーケットプレースからインストールします。
今回はこちらのバージョンを利用しました。
インストールが完了したらウィンドウの左下のアイコンをクリックします。
すると画面上部に「ホストに接続する...」と表示されるのでこちらをクリック。
次に接続先サーバーの情報を「ユーザー名
@ドメイン名 or IPアドレス
」の形式で入力します。
ここでパスフレーズなしで生成した公開鍵をサーバーに登録している場合はこのまま問題なく接続できると思います。
しかし、パスフレーズ付きで生成した鍵を登録している場合については VS Code 上でパスフレーズを聞かれることがなく、接続に失敗してしまいます。
解決方法
ssh-add
コマンドで秘密鍵をローカル端末の ssh-agent に登録することで失敗なく接続できるようになります。
ssh-add /path/to/id_rsa
ssh-agent は ssh 接続時に事前に登録してある秘密鍵のパスフレーズを代理で入力する役割を担ってくれます。
ただし、PC本体の再起動などで登録した秘密鍵の情報が消えている場合がありますので、再度接続できなくなった場合は、 ssh-add -l
などで情報が残っているか確認してみてください。
まとめ
今回はRemote SSH の使い方とパスフレーズ付きで公開鍵認証する際の注意点について共有させてもらいました。
もし ssh-add
を使わなくても接続できる方法があったり、他にもっと使いやすい拡張機能があればコメントなどで教えていただけると幸いです
それでは〜
参考文献