背景
- Linux から, Windows 10 に ssh ログインしたい.
- 自身のアカウントは管理者権限とします.
方法
OpenSSH が最近では標準で入ってました(cygwin とかで ssh サーバ入れなくてもよくなった)
Windows 10にオンデマンド機能のOpenSSHサーバをインストールする方法
https://www.atmarkit.co.jp/ait/articles/1903/28/news005.html
authorized_keys
デフォルトでは, authorized_keys は, 管理者権限アカウントでは以下のファイルを見にいきます.
C:\ProgramData\ssh\administrators_authorized_keys
ここに公開鍵追加します.
また, 以下を参考にして, powershell で permission 設定する必要があります.
$acl = Get-Acl C:\ProgramData\ssh\administrators_authorized_keys
$acl.SetAccessRuleProtection($true, $false)
$administratorsRule = New-Object system.security.accesscontrol.filesystemaccessrule("Administrators","FullControl","Allow")
$systemRule = New-Object system.security.accesscontrol.filesystemaccessrule("SYSTEM","FullControl","Allow")
$acl.SetAccessRule($administratorsRule)
$acl.SetAccessRule($systemRule)
$acl | Set-Acl
Bash にする
Windows10でSSHサーバーを立ててデフォルトシェルをBashにする
https://qiita.com/kenji0x02/items/3f4e7262e6de0d8c8702
ありがとうございます.
必要に応じて, cmd.exe
or powershell.exe
にすれば, command prompt, power shell に移ることできます.
問題点
画面を RDP で出していて, 画面に explorer 出そうとして start .
(カレントディレクリを explorer で開く)とやるとターミナルがハングしますので注意です.
(ctrl + c か ctrl + z しても終わらない. しばらく待つと復帰する模様)
explorer.exe
単体はうまく行きました(ただし引数にパス指定するとなにも起こらない)