VScode使用remote-ssh连接远程服务器
现在扩展商店中下载下面的几个插件
然后点击remote-ssh-> SSH右边的齿轮->.ssh\config
填写远程主机的信息(IP地址,用户名等信息)
填写主机号,用户名,以及识别文件(注意,这个识别文件是你本地的秘钥路径)
然后尝试连接,可能会发现他一直卡在"下载vscode-server"
这是因为他要在远程主机上下载vscode-server,但是这个东西是在外网的,远程服务器可能没有外网,所以下载起来非常慢。
我们的解决方案是我们在自己的电脑本机上下载好vscode-server, 然后手动上传到远程服务器上。
手动在本地下载vscode-server
点击vscode的“帮助”->"关于",找到自己的“提交”字段,里面一长串数字就是你这台电脑的commit id
将下面这段链接的${commit id} 换成你自己的电脑的commit id 那一串数字
https://update.code.visualstudio.com/commit:${commit id}/server-linux-x64/stable
然后访问这个链接去下载vscode-server
下载完成之后,将其上传到远程服务器的~/.vscode-server/bin 目录下
然后在这个bin目录下用mkdir命令创建一个名字为你的commit id的文件夹,然后将这个压缩包放到这个commit id的文件夹中,切换进入该文件夹
然后用下面的命令对其进行解压
cd ~/.vscode-server/bin/${commit id}
tar -zxf vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64/* ./
rm -rf vscode-server-linux-x64
可以看到 ~/.vscode-server/bin/${commit id} 目录下有以下文件:
vscode一些设置
由于vscode经常版本更新,可能会导致一些问题,我们需要对vscode进行一些设置
设置remote.SSH.useExecServer
为false
设置show login terminal为勾选状态
设置local server download为off
为了避免commit过期,还可以把vscode的自动更新关闭
找到左下角的齿轮,点击setting,搜索update,将Mode改为manual(手动)即可
配置远程服务器免密登录
生成本机的秘钥和公钥
打开本地电脑的terminal,输入
ssh-keygen
一直按回车,不要输入任何信息,他会自动在本地生成密匙,在以下路径中找到
C:\Users\lenovo\.ssh
id_rsa.pub文件(公钥文件)
下面将公钥上传至传到服务器的home文件夹下。
公钥上传方法1
将公钥直接复制到服务器的home文件夹下。
之后使用以下命令操作服务器:
mkdir .ssh
mv id_rsa.pub .ssh
cd .ssh
cat id_rsa.pub >> authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
这样远程ssh主机配置免密码登录就完成了。
然后再次使用vscode连接远程ssh就不需要输入密码了。
注意: 如果在这个服务器的.ssh文件夹中,已经有了id_rsa.pub文件了。
你就可以把你本地的id_rsa.pub换个名字传上去(比如我就改成了id_rsa_zhanght.pub)
然后执行 cat id_rsa_zhanght.pub >> authorized_keys 命令
本地的.ssh文件夹下的id_rsa和id_rsa.pub不需要进行修改!
公钥上传方法2(推荐)
找到服务器的home文件夹下的.ssh文件夹,里面会有一个authorized_keys文件
打开这个文件,将你的id_rsa.pub文件的内容复制到新的一行中,然后保存关闭。
在登录的时候,要注意填写的这个识别文件(秘钥)和你上传到服务器的公钥文件是匹配的。
XFTP使用ssh登录
选择Public Key, 点击设置
将你本地的用户秘钥上传上去(和服务器上面的公钥相匹配的那个秘钥)