使用VSCode的Remote-SSH連接Linux進行遠程開發


安裝Remote-SSH並配置

首先打開你的VSCode,找到Extensions,搜索Remote,下載Remote-Developoment插件,會自動安裝其他的Remote插件,其中會包含Remote-SSH:
Remote-SSH
進入設置,搜索ssh,找到並選中拓展中的Remote-SSH中的ShowLoginTerminal選項,因為在連接的時候,終端會讓你輸入yes或者密碼等
插件設置
接着,需要配置你的Linux服務器地址信息,按CTRL+SHIFT+P,搜索ssh,找到Open Configuration File選項
搜索ssh
接着輸入自己的地址信息:
地址信息

Linux安裝OpenSSH-Server和配置

Ubuntu

// 先卸載
sudo apt-get remove openssh-server
// 安裝
sudo apt-get install openssh-server

//重啟sshd服務
sudo service ssh --full-restart
//自動啟動
sudo systemctl enable ssh

CentOS

//安裝
yum install -y openssl openssh-server

//重啟sshd服務
systemctl restart sshd.service

//自動啟動
systemctl enable sshd

編輯配置文件

備份配置文件

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup

編輯配置文件

sudo vim /etc/ssh/sshd_config

配置文件中添加如下配置:
端口可以自定義
配置信息
配置信息
使用密碼登錄
配置信息
保存后,重啟sshd服務器,重啟命令上面已給出。

使用密碼連接SSH

找到你配置的Linux服務器:
連接服務器
輸入密碼,再回車:
輸入密碼
然后打開文件夾即可開始編寫代碼:
打開文件夾
使用CTRL + SHIFT + ~可以調出終端,就可以在終端操作命令,打開文件就可以寫代碼了。

使用密鑰免密碼登錄

客戶端配置
確保本地Windows操作系統已經安裝了ssh
生成SSH秘鑰對 :

ssh-keygen -t rsa -b 4096 

(-b 4096表示生成的rsa秘鑰對的長度是4096個bit) 在輸入該指令后,會讓我們指定秘鑰文件的生成目錄,可以直接回車跳過,生成的目錄在c:\user\WINDSUN\.ssh這個目錄下生成:id-rsaid-rsa.pub兩個文件, 第一個是私鑰文件,第二個是公鑰文件,用戶名稱是你自己的電腦用戶名

服務器端配置
檢測ssh服務是否啟動

netstat -ntlp | grep ssh

修改配置文件

vim /etc/ssh/sshd_config

這里最重要的是我們要把PubkeyAuthentication配置為yes允許使用基於密鑰認證的方式登錄。
最后,將客戶端的公鑰id-rsa.pub文件上傳到對應用戶根目錄的.ssh文件夾下,進入.ssh中將公鑰的內容拷貝到authorized_keys文件中

cp id_rsa.pub authorized_keys

然后設置相應文件的權限

chmod 700 .ssh
chmod 600 .ssh/authorized_keys

VS的Remote-SSH插件配置
設置vscode的Remote - SSH插件配置文件:

Host Aliyun
    HostName X.X.X.X
    User XXX
    IdentityFile  C:\Users\WINDSUN\.ssh\id_rsa

遇到的問題

如果報管道錯誤,可能是以下問題

  1. 你的Linux服務器的ssh配置有問題,通過修改配置測試是否解決問題。
  2. 刪除在服務器上創建的“ .vscode-server”目錄。這是在主目錄中創建的隱藏目錄(您可以使用“ ls -la”顯示我相信的所有文件)。可能是一些不正確的數據被緩存在那里,因此刪除目錄將使您的情況更加整潔。刪除后,可以嘗試通過vscode上的remote-ssh重新連接。
  3. 如果還是不行,可以嘗試重新使用ftp將本地公鑰上傳到Linux上,然后將其復制到authorized_keys文件中,設置權限,重啟SSH服務器,重新連接

注意事項

在使用公鑰第一次連接到Linux時候,可能會讓你輸入密碼,連接完成后,會在你的用戶.ssh目錄中中生成一個文件known_hosts,這個目錄中還有公鑰和私鑰id-rsa.pub和id-rsa,然后將公鑰上傳到服務器上,重新重復上面的復制到.ssh/authorized_keys,並且重新設置權限,再重新嘗試連接到Linux,就不需要再輸入密碼了


免責聲明!

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



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