windows10內置支持了ssh和scp等仿linux指令,可以讓我們方便的使用類似linux的工作流把日常的代碼資源部署維護工作寫成腳本(批處理)。 ssh和scp都有-i參數可以通過指定一個私鑰文件位置來遠程登錄linux或者windows操作系統,但是每次使用指令時都用-i參數指定私鑰地址會 ...
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