1.はじめに
たまに使うんだけど、忘れちゃっていつも調べなおしている内容のメモをのこすシリーズ。
SSH鍵を使って、リモートホストのログインを自動化して、やり取りを少し楽にする手順です。
2.自分の手元のPCにSSH鍵を準備
Windowsの場合
WindowsにSSHのツールをインストールしていれば、Windowsターミナルから生成できます。
PS C:\Users\hoge> ssh-keygen.exe Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\hoge/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\hoge/.ssh/id_rsa. Your public key has been saved in C:\Users\hoge/.ssh/id_rsa.pub. The key fingerprint is: SHA256:****** hoge@HOSTNAME The key's randomart image is: +---[RSA 3072]----+ (省略) +----[SHA256]-----+ PS C:\Users\hoge>
c:\users\hoge\.ssh
ディレクトリの中に生成されます。
Linux, macOSの場合
$ cd $ ssh-keygen
$HOME\.ssh
ディレクトリの中に生成されます。
3.SSH公開鍵を、接続先のホストに登録
先ほどの手順で作られたファイル.ssh/id_rsa.pub
の内容を、.ssh/authorized_keys
ファイルの中に追記します。
↓こんな内容
ssh-rsa AAA・・・(省略)・・・M= user@HOSTNAME
Linux, macOSの場合
$ cd $ touch .ssh/authorized_keys $ nano .ssh/authorized_keys
↑このファイルの最後の行に追記します。
4.SSH秘密鍵を、接続に使うアプリケーションに登録
RLogin
- 登録ダイアログの右下の方にある「SSH認証鍵」ボタンをクリック。
- ファイル
c:\users\hoge\.ssh\id_rsa
を選択
VSCode
Windows版の例です。
Remote SSH の拡張機能がインストールしておきます。
下記の通り、SSHターゲットの横の、ギアの形のアイコンをクリックすると、config
ファイルが開きます。
IdentityFile
のところに、秘密鍵のフルパスを追加します。
Host myhome.raspi.pi4
HostName 192.168.10.123
User pi
Port 22
IdentityFile "C:\Users\hoge\.ssh\id_rsa"