目录
- 前言
- 连接远程步骤
- 1. 下载工具包wsCli到本地机器
- 2. 本地机器上生成ssh密钥
- 3. 在服务器上安装公钥
- 4. vscode连接到远程
- 参考资料
前言
SSH(Secure Shell)是一种用于远程登录和安全传输数据的网络协议。它提供了两种主要的远程连接方式:
-
密码认证:使用用户名和密码进行身份验证。在这种方式下,用户需要提供正确的用户名和密码才能成功连接到远程主机。这是最常见的认证方式,但安全性较低,因为密码可能会被猜测或通过网络截获。
-
公钥认证:使用公钥和私钥进行身份验证。在这种方式下,用户需要生成一对密钥,包括公钥和私钥。用户将公钥上传到远程主机上,而私钥保留在本地。当用户尝试连接到远程主机时,远程主机会使用存储的公钥进行验证。如果公钥验证成功,用户将被授权访问。公钥认证提供了更高的安全性,因为私钥通常比密码更难以猜测。
这两种方式可以根据用户的需求和安全要求进行选择。公钥认证通常被认为是更安全和推荐的方式,特别是在需要远程访问的生产环境中。
连接远程步骤
1. 下载工具包wsCli到本地机器
下载工具包到本地机器,解压后,把相应的wsCli程序放在系统目录下(比如windows是C:\Windows下,linux/macOS放在/usr/local/bin下)。
也可以放在任意目录下,但是需要将这目录添加到环境变量中(WIN+R
输入:control userpasswords
回车,点击更改我的环境变量
):
添加环境变量,在用户变量->Path
中添加,到wsCli
文件的上一级目录:
2. 本地机器上生成ssh密钥
在命令行执行ssh-keygen
来创建密钥对,默认情况下,会生成一个私钥(id_rsa
)和一个公钥(id_rsa.pub
)。私钥通常不建议随意发送给他人,因为它包含敏感信息。
3. 在服务器上安装公钥
拷贝id_rsa.pub
中的公钥,并添加到authorized_keys
中:
mkdir -p ~/.ssh
# {YOUR_PUB_KEY}是拷贝的公钥,以ssh-rsa开头
echo "{YOUR_PUB_KEY}" >> ~/.ssh/authorized_keys
如此便完成了公钥的安装。 此外,为了确保连接成功,输入如下指令以保证以下文件权限正确:
chmod 600 authorized_keys
chmod 700 ~/.ssh
在终端详情页拷贝ssh命令,即可在本地terminal连接到远程(如果连接不上可以重启一下电脑试试)。
4. vscode连接到远程
在vscode上进行远程连接,需要在服务器上安装与本地相同版本的vscode
1.在本地vscode中安装插件Remote-SSH
2.本地下载vscode安装包
在vscode的帮助->关于
中找到commitID
复制下面这个链接下载安装包:
# ${COMMIT_ID}换成自己的commitID
https://update.code.visualstudio.com/commit:${COMMIT_ID}/server-linux-x64/stable
然后得到下面这个压缩包:
3.在服务器上传vscode
在服务器中创建.vscode-server/bin文件夹,并把压缩包上传:
mkdir -p ~/.vscode-server/bin
cd ~/.vscode-server/bin
# 上传压缩包并解压,放到以commitID命名的文件夹下
# ${COMMIT_ID}替换成自己的commitID
tar -zxf vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64/* ${COMMIT_ID}
最后${COMMIT_ID}
文件夹下为以下文件,删除其他没用的文件。
4.将ssh命令粘贴到连接命令中
得到一个config
文件,如果windows系统,需要将wscli修改成本地绝对路径:
然后点击+号连接到远程。
参考资料
解决 Windows 端 VS Code “无法与 “…“ 建立连接:XHR failed.” 问题