前文
? ? ? ? 連接遠程服務器的方式眾多,本文將介紹基于VS Code的SSH免密登錄方法。在開始SSH遠程鏈接以前,您需要完成以下步驟:
1.Windows配置SSH:
1.以Windows平臺為例,您需要在cmd終端(Win+R輸入cmd)輸入:
ssh -v
如果出現信息即代表Windows端的SSH配置完成。
2.Windows生成公鑰的方法:
ssh-keygen
如果您可以在C:\Users\您的用戶名\.ssh內看到id_rsa和id_rsa.pub文件;
請用記事本打開id_rsa.pub,爾后Ctrl+A Ctrl+C,此時剪貼板的內容即為Windows公鑰。
請保護好您的私鑰!
2.VS Code端環(huán)境配置:
1.添加擴展:Remote Development
2. Remote Development含有三個拓展包,稍后我們需要插件Remote - SSH。
如圖所示:
3.服務器端配置:
1.檢查服務器端是否安裝了SSH服務:
ps -e | grep sshd
2.請明確您的服務器IP地址:
1.以云服務器CVM為例,您的IP地址就是您的公網IP,需要您在云服務官網控制中心獲取。
2.以本地虛擬機為例,您需要輸入以下命令獲得本地IP地址。
(博主使用CVM,本地虛擬機遠程鏈接未經實踐驗證)
ip addr
正文:?
首次登錄設置
1.請單擊VS Code首頁左下角的遠程鏈接符號:
?2.選擇:Connect Current Window to Host
?3.請輸入用戶名和IP地址(用戶名以root為例):
格式如下:?
ssh root@您的ip地址
3.0 選擇第一項:C:\User\hrwei\.ssh\config;
3.1 選擇Linux - Continue - 輸入密碼
3.2 首次登錄需要輸入您的服務器SSH密碼,如果忘記,您可以在服務器官網重置密碼。
3.3 如果您能在VS Code終端看到服務器并可進行命令操作,則證明遠程連接成功。
?常見問題1(已解決):
VSCode遠程連接服務器報錯:Could not establish connection to “您的ip地址”
下方的報錯信息提示:過程試圖寫入的管道不存在
此時您需要:擴展-Remote SSH-右鍵Extensions Settings(擴展設置):
?請在此鍵入您的config路徑
SSH免密登錄:
每次連接服務器,都需要輸入SSH密碼,極其不方便,因此我們采用SSH免密登錄。
在服務器端(Linux)的操作:
cd ~
ls -a
如圖所示:
請確保您擁有.ssh文件夾,沒有請在家目錄下新建ssh文件夾:
mkdir .ssh
?接著,請輸入如下命令:
vim ~/.ssh/authorized_keys
請?按i進入?編輯模式-在Windows端?CtrlA&Ctrl+C?復制id_rsa.pub里的內容,在Vim里shift+insert?粘貼Windows公鑰至?~/.ssh/authorized_keys?內,按?ESC,輸入?:wq?退出。
此時,重啟VS Code,點擊左下角遠程連接符號or在側邊欄訪問遠程資源管理器,選中您需要訪問的服務器的ip地址。連接成功后,請在終端內進行命令的操作。
常見問題2(已解決):
每次重啟VS Code后,軟件會自動連接服務器。但我們有時并不需要訪問遠程服務器。
這時,您需要再次點擊首頁左下角遠程連接符號,選中?關閉遠程連接?即可。
拓展閱讀:
關于SSH免密登錄的原理:
1.在客戶端(本文即Windows)生成了公鑰(id_rsa.pub里的內容),并將此公鑰拷貝給服務器(我的遠程CVM)。此時客戶端和遠程服務器都存有一份相同的公鑰。
?2.客戶端攜帶公鑰發(fā)起登錄請求,服務器端在authorized_keys里尋找你上傳的公鑰,爾后與客戶端攜帶的公鑰進行比對。一旦比對成功,服務器會隨機生成一段用公鑰加密過的字符串對客戶端進行質詢。
3.客戶端收到服務端發(fā)來的公鑰加密隨機字符串,會用自己的私鑰(id_rsa)解密,再將隨機字符串返回給服務器。遠程服務器對比返回的字符串是否與自己本地生成的隨機字符串一致。如果一致,則證明用戶可信,允許直接訪問Shell,不再要求輸入登錄密碼。文章來源:http://www.zghlxwxcb.cn/news/detail-426167.html
如何聯系我?wei.haoran@outlook.com文章來源地址http://www.zghlxwxcb.cn/news/detail-426167.html
到了這里,關于VSCode遠程連接服務器(SSH免密登錄)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!