在win上使用vscode登录linux进行开发的全过程(包括常见问题)
使用vpn的时候可能连不上
1.win下vscode安装remote ssh
插件
注意,remote development 这个插件包同时包含了 wsl ssh container 三个插件,我们只需要单独安装remote-ssh。
2.win下vscode修改配置
依次点击如下按钮,修改.ssh\config
文件的内容
在.ssh\config
中添加想要连接的服务器的信息
Host ali #服务器名字,随便填就好
HostName 47.93.27.26 #服务器IP
User root #登录的用户名
做到这一步,可能还是不能连接服务器。这里有个奇怪的现象,用ssh密码登录方式可以远程连接服务器,而vscode密码登录却报错,因此我们采取公私钥登录的办法。接下来我们前往服务器进行必要的配置修改。
3.在被登陆的linux上修改配置
只有这一步需要登录服务器进行操作,其他所有操作都是在win上进行的
修改 /etc/ssh/sshd_config
文件
#允许root账户登录
PermitRootLogin yes
# 关闭配置文件和秘钥文件的权限检查,这是偷懒的做法
# 正常情况下应该严格地给秘钥等文件设置访问权限,不过方便起见,我们关掉它
StrictModes no
RSAAuthentication yes #这一项可能不会出现在配置文件里,不出现就不用管它
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
重启ssh服务以应用配置
service sshd restart
或者用 /bin/systemctl restart sshd.service
使用win生成秘钥并上传到linux
在win下生成秘钥并上传到linux服务器上,被登陆的linux需要使用生成的公钥,而发送登录请求的win需要使用私钥
如果你的win没有这些命令,请安装win版git
ssh-keygen -t rsa -b 4096 #生成公私钥
ssh-copy-id -i /c/Users/12037/.ssh/id_rsa.pub root@47.93.27.26
#这条语句的功能是将公钥上传到服务器上
#这里把用户名和ip改成你自己的用户名和自己服务器的ip
#-i后面是上一条命令生成的秘钥(公钥)的地址
现在你应该可以不用输入密码就能登录服务器了
使用vscode连接服务器
点击红色箭头指向的按钮就可以直接连接服务器了