安裝
安裝OpenSSH
需要安裝OpenSSH客戶端和服務器,win10自帶客戶端,我們安裝服務器即可。
設置 -- 應用 -- 可選功能 -- 添加 -- 添加 OpenSSH 服務器
配置
公鑰
- 在客戶端上,命令行執行
ssh-keygen -t rsa
,這將生成兩個文件id_rsa
和id_rsa.pub
。(注意:命令行不能使用中文的powershell,在使用powershell中文生成文件的時候默認使用utf-16
編碼而不是utf-8
,這會導致公鑰過長出現line 1 exceeds size limit
錯誤) - 在服務端上,以用戶身份打開 powershell,依次執行以下命令:
cd $env: USERPROFILE # 進入用戶目錄 mkdir. ssh # 新建.ssh文件夾(如果沒有的話) cd. ssh New-Item authorized_keys # 創建文件authorized_keys
- 將
id_rsa.pub
文件的內容從客戶端粘貼到上一步中的.ssh\authorized_keys
文件中; - 權限設置,將
.ssh\authorized_keys
文件右鍵屬性 -- 安全 -- 高級 -- 點擊“禁用繼承”--當出現提示時,選擇“將繼承的權限轉換為此對象的顯式權限”。然后將權限條目刪除至只剩“SYSTEM”、自己的賬戶、“Administrators”。(此步我默認就是這三個用戶,所以只用修改禁用繼承)
- 重啟服務:
net stop sshd
net start sshd
修改配置
- 打開sshd配置文件
C:\ProgramData\ssh\sshd.config
,注意ProgramData
是隱藏文件夾; - 編輯配置文件:
確保以下3條沒有被注釋
PubkeyAuthentication yes # 使用公鑰
AuthorizedKeysFile .ssh/authorized_keys # 公鑰位置
PasswordAuthentication no # 免密登錄
確保以下2條有注釋掉
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
- 重啟服務:
net stop sshd
net start sshd
測試
回到客戶端 ssh your_userName@your_IP_Adress,此時無需密碼直接登錄說明正常(首次登陸可能會提示是否加入known_hosts,yes即可)。
Tips
sshd debug
在ssh服務器中若想查看執行細節,可以:
- 關閉sshd服務
net stop sshd
; - 使用
sshd -d
開啟sshd服務;
這樣可以查看debug細節。
如果在執行ssh命令時想查看執行細節,可以使用參數 -vvv
,三個v表示查看debug級別為3的細節,如:
ssh -vvv localhost