windows通過秘鑰使用ssh和scp


windows10內置支持了ssh和scp等仿linux指令,可以讓我們方便的使用類似linux的工作流把日常的代碼資源部署維護工作寫成腳本(批處理)。

ssh和scp都有-i參數可以通過指定一個私鑰文件位置來遠程登錄linux或者windows操作系統,但是每次使用指令時都用-i參數指定私鑰地址會比較麻煩。我們還可以通過ssh-add方法來添加私鑰文件到緩存,這樣以后非對稱加密秘鑰對不變的話就可以直接遠程操作不需要輸入密碼或者私鑰文件了。

這個操作需要先啟用ssh-agent服務,這個服務在我的windows10里默認是禁用的,所以需要先在powershell里設置成auto並且啟動它:

PS C:\windows\system32> set-service -name ssh-agent -startuptype auto
PS C:\windows\system32> get-service ssh-agent

Status Name DisplayName
------ ---- -----------
Stopped ssh-agent OpenSSH Authentication Agent


PS C:\windows\system32> start-service ssh-agent
PS C:\windows\system32>

我的windows用戶名是fancy 假設把私鑰文件放在了c:\windows\user\fancy\key

就這樣添加私鑰:

ssh-add c:\windows\user\fancy\key

也可以把秘鑰文件改名成

identity

或者

id_rsa

放在~/.ssh/(也就是c:\users\fancy\.ssh\)

然后直接ssh-add 這樣就會自動把這些私鑰文件加入到緩存,以后就不用每次使用-i參數了。

scp也是使用同樣的-i參數,並且和上述操作共用秘鑰緩存

然后我們就可以用scp把腳本文件復制到遠程服務器,然后使用ssh在遠程服務器上執行起來,實現腳本化操作遠程服務器了。

OK 更多參看linux服務器操作方面的書籍,還有:

powershell ssh-agent 無法工作:https://www.cnblogs.com/crb912/p/9987590.html

 


免責聲明!

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



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