LoginSignup
0
0

More than 1 year has passed since last update.

ESXiで作成したVMにsshの公開鍵認証を行う

Last updated at Posted at 2021-12-01

環境

クライアント

  • Windows 11
  • PowerShell 7.2.0
  • OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

目的

ssh <VM名>とすることでパスワードを入れずにVMに入って作業することができるようになる記事です。
この記事ではクライアント側の操作は(クライアント)、ホスト側の操作は(ホスト)と書いてあります。
卒業課題.jpg

鍵を作成(クライアント)

鍵を生成

ssh-keygen -t ed25519

を入力したら、Enterキーを3回押してください。

Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\<ユーザー名>/.ssh/id_ed25519):
Created directory 'C:\Users\<ユーザー名>/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\<ユーザー名>/.ssh/id_ed25519.
Your public key has been saved in C:\Users\<ユーザー名>/.ssh/id_ed25519.pub.
The key fingerprint is:
SHA256: <鍵がここに表示されます>
The key's randomart image is:
+--[ED25519 256]--+
|o*=oo            |
|@o+* .           |
|*Bo.+            |
|Bo.= .           |
|o.= =   S        |
| o +   .         |
|o = E   .        |
|o* B . .         |
|*o=.+o=.         |
+----[SHA256]-----+

作成した鍵の確認

dir .ssh

を入力して、id_ed2551id_ed25519.pubがあることを確認する。

    Directory: C:\Users\<ユーザー名>\.ssh

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          2021/11/30    11:58            411 id_ed25519
-a---          2021/11/30    11:58             99 id_ed25519.pub

設定ファイルを作成する(クライアント)

設定ファイルの作成

notepad .ssh\config

スクリーンショット 2021-11-30 121001.png
と警告が出るので新しく作成してください。

設定ファイルに書く内容

.ssh\config
ForwardAgent yes

Host <自分が入れたい文字>
  HostnameVM名>
  User <ユーザー名>
  Port 22
  IdentityFile ~/.ssh/id_ed25519
属性
ForwardAgent 既に書いている場合は入れなくていいです。
Host VM 名だと覚えやすいですが、好きな文字を入れましょう。最終的にターミナルに「ssh <自分が入れたい文字>」を入力することで VM に ssh 接続します。
Hostname VM 名、もしくは IP アドレスを入力しましょう。
User VM に登録したユーザー名を入力してください。
Port デフォルトは22番です。VM側で Port 番号を変更しているなら変更した Port 番号を入力してください。
IdentityFile 秘密鍵の場所を入力します。今回は id_ed25519.pub の共通鍵を VM に登録するので、秘密鍵 id_ed25519 を登録します。

ファイル名をconfig.txtからconfigに変更する

mv .ssh\config.txt .ssh\config

公開鍵を出力(クライアント)

type コマンドで公開鍵の中身を出力します。今回は id_ed25519 の公開鍵を出力します。人によって中身は異なります。

type .ssh\id_ed25519.pub

を入力すると鍵が出力されます。
出力された鍵をVMに登録しましょう!

サーバ側(VM側)の操作(ホスト)

以下に書いてあるのは設定ファイルに書く内容で入力した<ユーザー名>と同じユーザーでログインしているときの操作です。

.ssh があることを確認してください。

cd
ls -a
.  ..  .bash_history  .bash_logout  .bashrc  .cache  .profile  .ssh  .sudo_as_admin_successful  .viminfo

ある場合

chmod 700 .ssh

ない場合

install -m 700 -d ~/.ssh

公開鍵をホスト側に登録します。

vim .ssh/authorized_keys

先ほど出力した公開鍵(.pub)の記述をそのままコピペして追加してください。すでにファイル内に何か書いてあった場合、改行して追加してください。

ssh-ed25519 <鍵> <クライアントのユーザー名>@<クライアントのホスト名>

authorized_keysを root ユーザーのみが読み込みと書き込みをできるようにします。

chmod 600 .ssh/authorized_keys

確認(クライアント)

自分のPCに戻って

ssh <自分が入れたい文字>

でログインできることを確認してください。

参考文献

0
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
0
0