今年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
您好,我想问一下,下面这一步是怎么实现的,服务器里生成的文件怎么拷贝出来呢
把上面生成的/.ssh/id_rsa保存到本地,Windows默认的话就放到C:\Users\你的用户名.ssh下面就好了。
这个密钥文件内容并不是很长,可以简单的 cat /.ssh/id_rsa 把他内容打印到终端界面上,然后复制下来,在本地新建一个文件粘贴进去就行了。