VScode之遠程開發


之前使用過PyCharm的遠程開發,很好用,不過還是有幾個局限性:

  • 只能用於Python語言;
  • 本地和服務器都需要有一份代碼,這兩份代碼是完全同步的;

 

 

一。配置免密遠程登錄

1、首先檢查本地是否有已生成ssh密鑰對,Linux用戶查看是否存在公鑰文件 ~/.ssh/id_rsa.pub和私鑰文件~/.ssh/id_rsa

如果沒有,則用如下命令生成,一路回車即可:

ssh-keygen -t rsa -b 4096

2、然后將本地公鑰文件id_rsa.pub 的內容添加到遠程主機用戶目錄下 .ssh 文件夾內名為 authorized_keys 的文件中。

不用去復制粘貼,使用命令ssh-copy-id來完成,輸出結果如下:

~$ ssh-copy-id remote_user@remote_id
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
remote_user@remote_id's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'remote_user@remote_id'"
and check to make sure that only the key(s) you wanted were added.

操作完后登錄服務器就可以不用輸入密碼了,你們可以取試試。

 

二。配置VScode遠程開發插件

在VS code中,使用ctrl+shift+x快捷鍵打開插件搜索窗口,輸入插件Remote Development,並點擊安裝。

 

 

使用cmd+shift+p快捷鍵打開命令輸入窗口,輸入Remote-SSH:Connect to Host...,第一次使用時需要選擇Add New SSH Host配置一下,myserver是我自己配置的,選擇這個就可以直接登錄服務器了。

 

 

然后就照着如下格式輸入登錄服務器的命令:

 

 上一步是把登錄服務器的信息添加到配置文件.ssh/config中的,該文件格式為

 

Host alias
  HostName host_id
  User user_name
  Port 22
  ForwardAgent yes


  • HostName:遠程主機的IP地址
  • User:遠程主機的用戶名
  • port:遠程主機的端口號,不填寫的話,ssh默認端口號為22,如果要用其他端口號,可以在這里更改
  • ForwardAgent:這個是VS code自己添加的,可以不用管
 

 

上面配置文件第一行Host alias,我們可以將alias更改為任何別名,因為我們平時登錄服務器使用的命令為ssh name@server_id,如果記不住服務器IP地址,則可以設置別名來方便記憶。

比如我第一行為Host myserver,則登錄服務器時使用命令ssh myserver即可。

最后再接着使用cmd+shift+p快捷鍵打開命令輸入窗口,輸入Remote-SSH:Connect to Host...,選擇你配置的那個別名即可連接到服務器。

 

 

也可以通過如下方式連接服務器:

 

 

 

會新彈出VS code窗口,左下邊多了一個遠程圖標,表示處於遠程模式。

 

連接成功后,通過File->Open->File/Folder打開文件或者文件夾,然后就可以像編輯本地文件一樣編輯遠程文件了。

 

最后啰嗦一句,當使用 ssh name@server_id 遠程登錄服務器時,出現錯誤提示:Permission denied (publickey).

這是因為服務器默認禁用了ssh密碼登錄權限。修改方法如下:

  1. 在服務器上的終端輸入:sudo vim /etc/ssh/sshd_config,打開該文件。
  2. 找到PasswordAuthentication,將其后的 no 改為 yes
  3. 重啟ssh服務:sudo service sshd restart

 

 

 

 

 

 

 


免責聲明!

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



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