【入門排坑】Windows之間使用OpenSSH的ssh免密登錄,排坑


安裝

安裝OpenSSH

需要安裝OpenSSH客戶端和服務器,win10自帶客戶端,我們安裝服務器即可。
設置 -- 應用 -- 可選功能 -- 添加 -- 添加 OpenSSH 服務器
在這里插入圖片描述

配置

公鑰

  1. 在客戶端上,命令行執行 ssh-keygen -t rsa ,這將生成兩個文件 id_rsaid_rsa.pub。(注意:命令行不能使用中文的powershell,在使用powershell中文生成文件的時候默認使用 utf-16 編碼而不是 utf-8,這會導致公鑰過長出現 line 1 exceeds size limit 錯誤
  2. 在服務端上,以用戶身份打開 powershell,依次執行以下命令:
    cd $env: USERPROFILE # 進入用戶目錄
    mkdir. ssh # 新建.ssh文件夾(如果沒有的話)
    cd. ssh
    New-Item authorized_keys # 創建文件authorized_keys
    
  3. id_rsa.pub 文件的內容從客戶端粘貼到上一步中的 .ssh\authorized_keys 文件中;
  4. 權限設置,將 .ssh\authorized_keys 文件右鍵屬性 -- 安全 -- 高級 -- 點擊“禁用繼承”--當出現提示時,選擇“將繼承的權限轉換為此對象的顯式權限”。然后將權限條目刪除至只剩“SYSTEM”、自己的賬戶、“Administrators”。(此步我默認就是這三個用戶,所以只用修改禁用繼承)
    在這里插入圖片描述
  5. 重啟服務:
net stop sshd
net start sshd

修改配置

  1. 打開sshd配置文件 C:\ProgramData\ssh\sshd.config ,注意 ProgramData 是隱藏文件夾;
  2. 編輯配置文件:
確保以下3條沒有被注釋
PubkeyAuthentication yes # 使用公鑰
AuthorizedKeysFile	.ssh/authorized_keys # 公鑰位置
PasswordAuthentication no # 免密登錄

確保以下2條有注釋掉
#Match Group administrators
#  AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
  1. 重啟服務:
net stop sshd
net start sshd

測試

回到客戶端 ssh your_userName@your_IP_Adress,此時無需密碼直接登錄說明正常(首次登陸可能會提示是否加入known_hosts,yes即可)。

Tips

sshd debug

在ssh服務器中若想查看執行細節,可以:

  1. 關閉sshd服務 net stop sshd
  2. 使用 sshd -d 開啟sshd服務;

這樣可以查看debug細節。

如果在執行ssh命令時想查看執行細節,可以使用參數 -vvv,三個v表示查看debug級別為3的細節,如:

ssh -vvv localhost

參考鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM