每次打開vscode連接服務器都需要輸入密碼,特別繁瑣。
然后自己在網上翻閱了一下教程,發現說的內容比較啰嗦,而且個人感覺非常有誤導性傾向。
因此自己直接干脆寫一個簡便易懂的教程算了。
(以經過本人親測,真實可靠)
windows 免密連接遠程服務器
1. 生成 SSH 密鑰
== 這一步一定是在自己本地生成,還不是在服務器中去生成。 == 比如我本地是windows,然后通過cmd去ssh連接遠程服務器,那么我首先需要在本地創建一個密鑰(包含一個私鑰和一個公鑰)。
ssh-keygen -t rsa -C "your_email@example.com"
- 一路回車即可
- 然后這個存在公鑰我本地的路徑為:
C:\Users\heroh/.ssh/id_rsa.pub
- 這個路徑在上述生成過程中可以查看
2. 將密鑰中的公鑰傳到服務器
ssh-copy-id -i C:\Users\heroh/.ssh/id_rsa.pub -p 22 user@serverIp
- 第一個參數就是我本地公鑰的路徑地址
- -p:指定端口號,默認為22
過程說明
- 首次運行 ssh-copy-id 時,需要輸入服務器的密碼來完成公鑰的傳輸
- 輸入密碼后,ssh-copy-id 會將公鑰上傳到服務器的 ~/.ssh/authorized_keys 文件中
- 如果成功,你會看到類似以下輸出:
Number of key(s) added: 1Now try logging into the machine, with: "ssh -p 12803 root@xxxx.com"
and check to make sure that only the key(s) you wanted were added.
3. 驗證免密登錄
ssh -p 22 user@serverIp
如果不需要密碼,那就說明你已經成功了。
vs code 免密登錄
完成上述操作后,你已經完成80%的操作了。
- 在vs coder 擴展市場中下載
Remote-SSH
擴展
- 進入擴展配置
- 配置你服務器的ip和port即可
Host 111.111.111.111HostName 111.111.111.111User rootPort 60022
- 然后回到上面第二步,選擇你的服務器連接即可