簡(jiǎn)介
在 PyCon 2019 大會(huì)上,微軟發(fā)布了 VS Code Remote,通過安裝Remote Development 擴(kuò)展包,開發(fā)者可以通過VS Code直接在遠(yuǎn)程機(jī)器上進(jìn)行開發(fā)調(diào)試,就像在本地開發(fā)調(diào)試一樣,但目前僅在Insider版本中支持該功能。這里主要記錄一下Win10下配置VS Code 使用SSH連接Centos7遠(yuǎn)程開發(fā)調(diào)試的步驟。
安裝SSH
使用SSH進(jìn)行連接,客戶端需要安裝SSH Client,服務(wù)端需要安裝SSH Server。由于Win10自帶SSH Client,Centos7也已有SSH Server,所以這里不用再安裝。如需安裝,Win10請(qǐng)參考這里,安裝SSH Server,Centos可以使用如下命令安裝:
sudo yum install openssh-server && sudo systemctl start sshd.service && sudo systemctl enable sshd.service
Ubuntu則使用下列命令:
sudo apt-get install openssh-server
安裝 VS Code Insider版和Remote Development擴(kuò)展包
通過https://code.visualstudio.com/insiders/下載insider版VS Code并安裝,在VS Code擴(kuò)展中心搜索并安裝 Remote Development擴(kuò)展包。Remote Development 包括Remote-SSH,Remote-Containers和Remote-WSL三個(gè)擴(kuò)展。
配置SSH連接
1、生成SSH密鑰
VS Code需要使用基于SSH密鑰的身份驗(yàn)證才能連接到主機(jī)。Windows下公鑰一般存儲(chǔ)在C:\Users\用戶名\.ssh\id_rsa.pub,macOS/Linux下則位于~/.ssh/id_rsa.pub,根據(jù)系統(tǒng)檢查相應(yīng)位置是否已有SSH密鑰,如果沒有則打開命令提示符使用下面命令生成
ssh-keygen -t rsa -b 4096
2、把公鑰(id_rsa.pub)添加到遠(yuǎn)程機(jī)器的authorized_keys中
在Windows下,打開命令提示符,執(zhí)行下面命令
SET REMOTEHOST=root@192.168.126.128
scp?C:\Users\用戶名\.ssh\id_rsa.pub %REMOTEHOST%:~/tmp.pub
ssh %REMOTEHOST% "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"
這里192.168.126.128是遠(yuǎn)程機(jī)器的IP地址,root是登錄用戶。
下面是我的實(shí)際輸出,打碼部分為IP地址,用自己遠(yuǎn)程機(jī)器的IP替換即可。yes/no時(shí)輸入yes,密碼為root用戶的登錄密碼。

VS Code中連接遠(yuǎn)程機(jī)器
按F1彈出VS Code的命令選項(xiàng)板,輸入Remote-SSH: Connect to Host,回車,選擇Configure SSH Hosts,并打開C:\Users\用戶名\.ssh\config文件,配置遠(yuǎn)程主機(jī)并保存。配置信息如下所示
Host Centos7
? ? ? HostName 192.168.126.128
? ? ? User root
現(xiàn)在在左邊欄可以看到你配置的機(jī)器

選擇相應(yīng)主機(jī)連接,等待VS Code建立連接后就可以通過File > Open.或File > Open Workspace直接打開遠(yuǎn)程機(jī)器上的文件或文件夾進(jìn)行開發(fā)調(diào)試了。
