【PowerShell SSH】Windows PowerShellから秘密鍵を使うSSHの起動

1 はじめに

本記事は、Windows PowerShellから秘密鍵を使うSSHの起動方法について示したものです。

WindowsからLinuxなどにSSHでリモートログインするには、
以前はTera Termなどの 外部ツールを使っていました。

Windows 10のPowerShellからSSHが使えるようになっています。

Windowsに標準で搭載されているのであれば、
外部ツールは外してPowerShellからのSSHに切り換えた方が良いのかもと思っていました。

でも、あまり調査もせず、しばらく秘密鍵ファイルの指定方法がわからないままにいたのです。
この度、その方法がわかりましたので、備忘録として本記事を起こしました
(同様の記事はWeb上にたくさんありますが、
自分で記述すると注意すべき点がハッキリするものですから)。

2 秘密鍵を使うPowerShell SSHを起動する

本章では、秘密鍵を使ったPowerShell SSHを起動する方法について示します。

SSHの公開鍵秘密鍵の作成は済んでおり、
公開鍵のサーバーへの配置は済んでいることを 前提に示します。

2.1 秘密鍵ファイルの置き場所とファイルのセキュリティ

Windows PowerShell下のSSH秘密鍵は、任意のディレクトリ下に置けます。

ただし、”ssh config”設定によって起動コマンド文字列を簡略化できます。
この設定ファイルは、配置すべきデフォルトのパスが決まっています。

設定ファイルをあちらこちらに分散させないよう、
LinuxのようにWindowsサインイン・アカウントホームパス直下の
.ssh”ディレクトリ下に置くようにすると良いでしょう。
ssh config”設定については、2.3節で示します。

ファイルにアクセス可能なセキュリティは、図2.1-1に示すように
Windowsサインイン・アカウントAdministratorsとだけになっていなければなりません。

他のアカウントにもアクセス権があると、図2.1-2に示すように、
UNPROTECTED PRIVATE KEY FILE!
required that your private key files are NOT accessible by others.
とエラーが表示され、ホスト接続は失敗します。

2.2 SSHを起動するる

秘密鍵を使うSSHは、
下に示すよう”-i”オプションを使って秘密鍵ファイルのパスを指定して起動します。

PS C:\ ssh [ -p <Port No.>] <user>@<ドメイン名>    -i <秘密鍵ファイルパス>

図2.2-1に起動例を示します。
起動時に作成時に設定したパスフレーズが問われますので、
パスフレーズを入力すればホストへ接続します。

初めての接続先だと、
図2.2-2に示すように 「信頼性を確立できない」旨の警告が表示されます。

それと同時に接続を続けてもよいかの確認が表示されます。
yes”と入力すると”known_hosts”にホスト情報が追加された後、パスフレーズ確認に進みます。
ここでリターンのみの空入力で返答した場合は、
Host key verification failed.”となります
ので、ご注意された方が良いのかもしれません。

2.3 ”ssh config”設定によるコマンド文字列の簡略化

接続先や秘密鍵のパス指定などをすると、SSH起動文字列が結構長くなってしまいます。
直打ちだと面倒です。
ssh config”設定を行えば、このSSH起動文字列を短くすることができます。

ssh config”の詳しいことについては、次のページをご覧ください。
manページ - SSH_CONFIG

2.3.1 ”ssh config”のファイルパス

ssh config”設定ファイルのデフォルトのパスは、
Linuxと同様のWindowsサインイン・アカウントのホームパス直下の”.ssh”ディレクトリの下で、
ファイル名は”config”となっています。

任意のパスに作成することもできます。
この場合は、次に示すよう”-F”オプションで”ssh config”ファイルのパスを指定して
SSHを起動することになります。

PS C:\> ssh -F <configfile> <接続名>

2.3.2 ”ssh config”ファイルの構成

ssh config”設定ファイルの内容は、下に示すようなパターンの構成になっています。

良く使われると思われるキーワードを表2.3-1に示します。

起動は、”ssh <接続名>”となります。

図2.3-1に”ssh config”の記述例を、 図2.3-2にこの設定を使ったSSHの起動例を示します。

以上

HTMLだと、
思うように編集することは難しく、やろうすればとっても時間が掛かります。
ですので、本記事の元となっているWordで作成したPDFを
ページ最後に貼り付けました。

少しでも役に立てていただければ、うれしく思います。

このPDFファイルは、自由に配布されてもかまいません。
ただし、再配布の際には、
入手元著者名は明らかにしてください

なお、上のPDFファイルの内容、また本文中の記述に、
誤字や脱字、誤った内容の記述など見つかりましたら、
下に示すフォームでご連絡いただければ幸いです。

お問い合わせ