[ConoHa] RLoginでサーバーにSSH接続する手順を解説という記事で、RLoginというSSHクライアントを使用した接続手順を解説しました。
Windows 11では、デフォルトのWindowsターミナル(コマンドプロンプトまたはPowerShell)で、SSH接続することが可能になっています。
SSHクライアントを導入できないケースもあるため、Windowsターミナルを利用したSSH接続の方法もまとめておきます。

何も考えずにSSH接続するとSSH鍵ファイルの権限まわりでエラーになります。
本記事ではWindows 11 64-bit版を使っていることを前提としているのと、[ConoHa] RLoginでサーバーにSSH接続する手順を解説の「ConoHa WingサーバーでのSSH鍵作成」は完了しているものとします。
SSH鍵ファイルは「C:\tools\rlogin_x64\conoha_ssh_key.pem」という想定です。
WindowsターミナルでSSH接続する
SSH鍵ファイルの権限を変更しますので、念のためファイルをコピーしておきます。
コピーしたSSH鍵ファイルを「C:\tools\rlogin_x64\conoha_ssh_key_win.pem」として、このファイルを対象にして解説します。
SSH鍵ファイルの権限を変更する
Windows環境でファイルをコピーすると、デフォルトでは格納先フォルダの権限を引き継ぐ設定になります。
WindowsターミナルからSSH接続をする場合は、SSH鍵に対して他のユーザーが参照できないように権限設定をしておく必要があります。
conoha_ssh_key_win.pem ファイルを右クリックして、メニューからプロパティを選択します。

プロパティ画面が表示されますので、セキュリティタブを選択します。

現在の権限設定を確認することができます。
詳細は割愛しますが、AdministratorsやUsersといったグループに属するユーザーがこのファイルを参照できる権限になっています。
まずはこれらの権限を削除してユーザーのみがアクセスできるように変更するため、「詳細設定(V)」をクリックします。

詳細設定画面が表示されますので、「継承の無効化(I)」をクリックします。

ダイアログが表示されますので、「このオブジェクトから継承されたアクセス許可をすべて削除します。」をクリックします。

アクセス権限を持つグループがすべて削除されます。
次に「追加(D)」をクリックします。

アクセス許可エントリ画面が表示されますので、「プリンシパルの選択」をクリックします。

ユーザーまたはグループの選択画面が表示されますので、まずはオブジェクト名に自身のWindowsログオン名を入力して、「名前の確認(C)」をクリックします。
オブジェクト名が 「<コンピュータ名>\<Windowsログオン名>
」のような表示に変化すると思いますので、問題なければ「OK」をクリックします。

プリンシパルの表示が、Windowsログオン名になっていることを確認して、「OK」をクリックします。

アクセス許可エントリに指定したユーザーのみが表示されていることを確認して、「OK」をクリックします。

プロパティ画面に戻りますので、指定したユーザーのみが表示されていることを確認して、「OK」をクリックします。

ここまででアクセス権限の設定は完了です。
Windowsターミナルを起動する
次にWindowsターミナルを起動します。
Windowsターミナルはスタートメニューから起動するか、Ctrl-Rからの「ファイル名を指定して実行」から「powershell」と入力して起動します。
スタートメニューの「すべて」をクリックします。

「ターミナル」をクリックします。

Windowsターミナルが起動します。

WindowsターミナルでConoHa WINGサーバーに接続する
sshコマンドを使ってConoHa WINGサーバーに接続します。
コマンドは以下のオプションを指定します。
ssh <接続先ユーザー名>@<接続先ホスト名> -p <ポート番号> -i <SSH鍵ファイル>
ユーザー名やホスト名に間違いがなければ、正常にssh接続することができます。
PS C:\Users\XXXXXXXX> ssh cXXXXXXX@www000.conoha.ne.jp -p 8022 -i C:\tools\rlogin_x64\conoha_ssh_key_win.pem
[cXXXXXXX@web0256 ~]$
これでssh接続が完了です!
参考までにSSH鍵ファイルの権限を変更しない状態でSSH接続すると、以下のようなWARNING(警告)が発生して、接続に失敗します。
PS C:\Users\XXXXXXXX> ssh cXXXXXXX@www000.conoha.ne.jp -p 8022 -i C:\tools\rlogin_x64\conoha_ssh_key_win.pem
Bad permissions. Try removing permissions for user: BUILTIN\\Users (S-1-5-32-545) on file C:/tools/rlogin_x64/conoha_ssh_key.pem.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'C:\\tools\\rlogin_x64\\conoha_ssh_key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "C:\\tools\\rlogin_x64\\conoha_ssh_key.pem": bad permissions
cXXXXXX@www000.conoha.ne.jp: Permission denied (publickey).
PS C:\Users\XXXXXXXX>
エラー内容としては、「他のユーザーでもアクセス可能な権限設定になっているため権限を限定する必要がある。」といったところでしょうか。
まとめ
本記事ではWindowsターミナルを利用したSSH接続の方法をまとめました。
SSHクライアントを導入できないケースでは、デフォルトの状態でもSSH接続ができますので便利ですが、RLoginのようなSSHクライアントにはターミナルログなどを保存できるような機能を持っていますので、利便性という点では、SSHクライアントを導入した方が良いかと思います。

コメント