最近のWindowsでは、パスワードなしログインが可能になっているため、OpenSSHサーバーにするWindowsマシンにもログインパスワードが記録されていない可能性がある。このため、最初から公開鍵でログインできるようにする。
Windowsのユーザーが管理者(管理者に昇格できるユーザー)になっている場合、WindowsのSSHサーバーでは管理者ログイン扱いとなる。管理者かどうかの確認は「設定 ⇒ アカウント」のページで行える。Windowsマシンの個人利用では、自分自身を管理者として登録にしておくのが普通なので管理者であるとして以後の作業を解説する。
管理者か標準ユーザーかにより、Windows版OpenSSHサーバーでは、クライアントの公開鍵を登録する場所が異なる。管理者の場合、作業は管理者権限でコンソールをひらき、「C:\ProgramData\ssh」で行う。
クライアントで作成した公開鍵ファイル(id_ed25519.pub)の中にはテキストが入っている。これをSSHサーバー側の
C:\ProgramData\ssh\administrators_authorized_keys
の末尾に追加する。たとえばメモ帳で開き、テキストを貼り付けるなどの方法が使える。このファイルはテキストファイルだが、文字エンコードはBOMが入ってしまうのでWindows PowerShell標準のUnicode/UTF-16LEだけは避ける。UTF-16LEでなければUTF-8でもASCIIでも構わない。
もし、このファイルがなければ、新規に作成するが、このときに限って、id_ed25519.pubをadministrators_authorized_keysという名前で、コピーしてよい。一般ユーザー(非管理者)の場合には、公開鍵は、ユーザーのホームディレクトリにある%userprofile%\.ssh\authorized_keysに追記する。
最後に、OpenSSHサーバーを自動起動として設定する。これには、管理者権限で以下のPowerShellコマンドを実行する。
Set-Service -StartupType AutomaticDelayedStart sshd
Start-Service sshd
これで、クライアントマシンから接続が可能になるはずだ。クライアント側でのSSHキー生成(前回解説)からここまでの手順を(図01)に示す。
ログインは、
ssh.exe <ユーザー名>@<サーバーホスト名>
とする。なお<サーバーホスト名>はIPアドレスでも構わない。
標準では、sshでログインするとcmd.exeがシェルとして起動するが、SSHサーバー側の以下のレジストリを変更して、Windows PowerShellを起動させることが可能だ。
キー:HKLM:\SOFTWARE\OpenSSH
名前:DefaultShell
形式:文字列
値:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
PowerShellからレジストリを書き換えるなら、
new-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
とする。もっとも、cmd.exeでログインしたあと必要に応じてPowerShell.exe(Windows PowerShell)やpwsh.exe(PowerShell。C:\Program Files\PowerShell\7\pwsh.exe)を起動してもかまわない。
今回のタイトルネタは、E・E・スミスの「Subspace Encounter」(1983年。未訳)である。前回のタイトルネタで使った「Subspace Explorers」(1960年。邦題 大宇宙の探求者。創元SF文庫)の続編だが、未発表原稿を元にスミスの死後18年たってから出版された。











![[USBで録画や再生可能]Tinguポータブルテレビ テレビ小型 14.1インチ 高齢者向け 病院使用可能 大画面 大音量 簡単操作 車中泊 車載用バッグ付き 良い画質 HDMI端子搭載 録画機能 YouTube視聴可能 モバイルバッテリーに対応 AC電源・車載電源に対応 スタンド/吊り下げ/車載の3種類設置 リモコン付き 遠距離操作可能 タイムシフト機能付き 底部ボタン 軽量 (14.1インチ)](https://m.media-amazon.com/images/I/51-Yonm5vZL._SL500_.jpg)