標準的な設定では,リモート接続するたびにパスワードを入力する必要がある.SSH鍵認証の設定によりパスワード入力を省略できる.
ローカルPCのターミナルで以下のコマンドを実行する(以下の例は VSCode のターミナルでの実行例である).
ssh-keygen -t ECDSA
ECDSAは鍵生成方式
*** 実行例 ***
PS C:\Users\****> ssh-keygen -t ECDSA このコマンドを実行
Generating public/private ECDSA key pair.
Enter file in which to save the key (C:\Users\****/.ssh/id_ecdsa): 鍵ペアを保存するフォルダ.そのままEnterする
Enter passphrase (empty for no passphrase): そのままEnter
Enter same passphrase again: そのままEnter
Your identification has been saved in C:\Users\****/.ssh/id_ecdsa.
Your public key has been saved in C:\Users\****/.ssh/id_ecdsa.pub.
The key fingerprint is:
SHA256:fzqfPCol1C11W1ltBGP1O6/4JfUNy72sXg6I5BuclpU wata@LAPTOP-OD6265V5
The key's randomart image is:
+---[ECDSA 256]---+
| ++B|
| ...o=|
| . o . +.|
| . o o . .|
| .S. E .o.|
| =.* .. ==|
| @....+.*|
| o ++.o=+.|
| oo+*=++ |
+----[SHA256]-----+
passphraseを省略することで毎回のパスワード入力を回避できる.鍵ペア(id_ecdsa, id_ecdsa.pub)が実行中に示されたフォルダ(上の例だとC:\Users\****/.ssh/id_ecdsaおよびC:\Users\wata/.ssh/id_ecdsa.pub)に保存されていることを確認する.
PS C:\Users\****> dir .ssh
ディレクトリ: C:\Users\****\.ssh
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2023/01/18 10:46 212 config
-a---- 2023/01/18 15:18 513 id_ecdsa *秘密鍵,他人に見られてはいけない!
-a---- 2023/01/18 15:18 183 id_ecdsa.pub *公開鍵,他人に見られてもOK
-a---- 2023/01/18 10:47 175 known_hosts
生成した公開鍵の内容をサーバに登録する.
~/.ssh/authorized_keys ファイルの末尾に,ローカルPCで生成した公開鍵ファイル(上記の例の場合は id_ecdsa.pub)の内容を追加する(それぞれのファイルをテキストエディタなどで開いてコピペする)[目次へ]