聽說微軟推出了新的VSCode插件,很久就想試下了,今天終于開始嘗試了,Remote-WSL是連接本機的Linux子系統(tǒng)用的,Remote-SSH可以連接到遠程主機。在此記錄一下這個過程。
準備一個Linux,地址:192.168.209.61,開啟ssh
安裝Remote-SSH
在VSCode插件里查找,然后安裝就好了,這個做得很方便
添加配置文件
點擊左下角圖標,彈出菜單選擇Remote-SSH: Open Configuration File...,第一次選擇會讓用戶選擇存放配置文件位置,如:
C:\Users\Leo\.ssh\config
C:\ProgramData\ssh\ssh_config
這個目錄中也用于存放rsa密鑰,如果沒有遠程主機密鑰文件,會在登錄時詢問用戶密碼
在config配置文件中填入內容如下
Host my61
HostName 192.168.209.61
User root
解釋一下其含義
- Host 連接的主機的名稱,可自定
- Hostname 遠程主機的IP地址
- User 用于登錄遠程主機的用戶名
- Port 用于登錄遠程主機的端口
- IdentityFile 本地的id_rsa的路徑
此時連接需要輸入密碼,如果配置了密鑰,就可以直接連接了
配置Windows通過密鑰連接遠程Linux
Windows端
在本機生成密鑰對
C:\Users\Leo\.ssh>ssh-keygen
...
將生成的id_rsa.pub上傳到遠程Linux主機
scp id_rsa_pub root@192.168.209.61:/root/.ssh/
Linux端
將id_rsa.pub加入到authorized_keys中
# cd ~/.ssh
# cat id_rsa_pub >> authoried_keys
在windows端,就可以通過如下命令登錄了
C:\Users\Leo\.ssh> ssh root@192.168.209.61 -i id_rsa
飛奔
在VSCode中直接點擊遠程主機就可以連接,真爽,XShell可以不用了,文件傳輸可以不用了,直接在VSCode中召喚命令行就是遠程Linux的命令窗口
附
如果在VSCode主機上有多個Linux終端需要連接,我的做法是把id_rsa.pub拷貝到多個Linux上面就可以直接連接了,在Remote-SSH的配置文件中也不用指定key文件,目前還沒有發(fā)現(xiàn)有其它問題,如有不妥,歡迎指正