今年5月左右微软给vscode加了新操作,有了官方的远程连接的插件,不过好像现在只在insider版本里提供。要安装的话直接在插件里搜索Remote,安装Remote Development这一套就行了。
服务器上操作
这里配置一下使用ssh key登录,相对于输密码比较安全(其实是我懒得每次都敲密码)。首先在服务器上生成一对公私钥
root@itemqqSS:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:RWDHVoBeg7jvzTdC/nPPTwemzGl0vogQwUzmooas root@itemqqSS
The key's randomart image is:
+---[RSA 2048]----+
| o=*+o. |
| . o==== |
| . o+o +.. |
| . . .o.. |
| . .S . + |
| . o. .+ * . |
| . .o=. * . o|
|E .o=++..+.|
| .+o+..=|
+----[SHA256]-----+
这里最好不要再用passphrase了。。直接回车就行。。主要是图省事,加了之后vscode的自动连接似乎不是很方便。
然后把公钥加到authorized_keys里
root@itemqqSS:~# cd .ssh
root@itemqqSS:~/.ssh# ls -a
. .. id_rsa id_rsa.pub
root@itemqqSS:~/.ssh# cat id_rsa.pub >> authorized_keys
修改key的权限,然后重启ssh服务即可。此外重启服务之前需要确保/etc/ssh/sshd_config里的PubkeyAuthentication是yes的状态,不是的话改一下
root@itemqqSS:~/.ssh# chmod 600 authorized_keys
root@itemqqSS:~/.ssh# chmod 700 ~/.ssh
root@itemqqSS:~# service sshd restart
*附常用权限对应表
-rw------- (600) 只有拥有者有读写权限。
-rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) 只有拥有者有读、写、执行权限。
-rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) 所有用户都有文件读、写权限。
-rwxrwxrwx (777) 所有用户都有读、写、执行权限。
本地配置
把上面生成的/.ssh/id_rsa保存到本地,Windows默认的话就放到C:\Users\你的用户名.ssh下面就好了。
然后在vscode里ctrl+shift+p,打remote然后选Connect to Host
然后选择Configure SSH Hosts
然后点默认的第一个
在里面写入如下内容
其中Host 是名字,随便起;HostName是服务器的ip地址;User是key登录用的用户名,如果像我上面一样懒人操作就是root;最后一个IdentityFile 是id_rsa的位置
写完之后 ctrl+s 保存,再次ctrl+shift+p,打remote然后选Connect to Host就会看到配置好的这个服务器了,点击就会弹出来远程连接的窗口了
open folder就可以看到服务器上的文件夹
这样的话就可以在这个新vscode窗口里像local一样操作server的文件和写代码了,用起来还是很方便的有时候hhh