2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

なぜssh-keygenを使う?

リモートサーバに接続する際、毎回パスワードを入力するのは面倒です。「ssh-keygen」を使用すると、パスワード入力の手間を省き、セキュリティを向上させつつ、リモートサーバへのアクセスを簡単にできます。

Windows環境

1. .sshフォルダの作成

まず、.sshフォルダが存在しない場合は、以下のコマンドでフォルダを作成します:

mkdir "%USERPROFILE%\.ssh"

2. SSH鍵の生成

コマンドプロンプトを開き、以下のコマンドを実行します:

ssh-keygen -t rsa -b 4096 -f "%USERPROFILE%\.ssh\id_rsa" -N ""

このコマンドを実行すると、次のようなメッセージが表示されます。

Generating public/private rsa key pair.
Your identification has been saved in C:\Users\YourUsername\.ssh\id_rsa
Your public key has been saved in C:\Users\YourUsername\.ssh\id_rsa.pub
The key fingerprint is:
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX YourUsername@YourComputer
The key's randomart image is:
+---[RSA 4096]----+
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
+----[SHA256]-----+

このメッセージが表示されれば、SSH鍵の生成は完了です。

3. SSH鍵をアップロード

SSH鍵の秘密鍵と公開鍵が生成されたら、リモートサーバにSSH鍵の公開鍵をアップロードします。PowerShellを開いて、以下のコマンドを実行します:

type $env:USERPROFILE\.ssh\id_rsa.pub | ssh [username]@[remote_host] "cat >> .ssh/authorized_keys"

この操作の際、リモートサーバのパスワードを一度だけ入力する必要があります。

ジャンプサーバ環境(Linux)

ジャンプサーバを使用している場合、ジャンプサーバ内でも同様の手順を繰り返す必要があります。

1. SSH鍵の生成

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""

2. 公開鍵のアップロード

ssh-copy-id [sshユーザ名]@[リモートサーバのホスト or IP]

Windowsではssh-copy-idコマンドが標準で利用できないため、ジャンプサーバ(通常はLinux環境)で実行することを想定しています。

まとめ

SSH鍵の生成と使用には、以下のようなメリットがあります:

  1. セキュリティの向上:強力な暗号化により、パスワード認証よりも安全です
  2. 利便性の向上:パスワード入力が不要になり、ログインプロセスが簡素化されます
  3. 管理の容易さ:中央集中型の鍵管理が可能になります
  4. 自動化の促進:スクリプトやツールによる自動ログインが容易になります

ssh-keygen コマンドを適切に使用することで、これらのメリットを最大限に活用し、リモートサーバとの安全で効率的な通信を実現できます。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?