每次打开vscode连接服务器都需要输入密码,特别繁琐。
然后自己在网上翻阅了一下教程,发现说的内容比较啰嗦,而且个人感觉非常有误导性倾向。
因此自己直接干脆写一个简便易懂的教程算了。
(以经过本人亲测,真实可靠)
windows 免密连接远程服务器
1. 生成 SSH 密钥
== 这一步一定是在自己本地生成,还不是在服务器中去生成。 == 比如我本地是windows,然后通过cmd去ssh连接远程服务器,那么我首先需要在本地创建一个密钥(包含一个私钥和一个公钥)。
ssh-keygen -t rsa -C "your_email@example.com"
- 一路回车即可
- 然后这个存在公钥我本地的路径为:
C:\Users\heroh/.ssh/id_rsa.pub
- 这个路径在上述生成过程中可以查看
2. 将密钥中的公钥传到服务器
ssh-copy-id -i C:\Users\heroh/.ssh/id_rsa.pub -p 22 user@serverIp
- 第一个参数就是我本地公钥的路径地址
- -p:指定端口号,默认为22
过程说明
- 首次运行 ssh-copy-id 时,需要输入服务器的密码来完成公钥的传输
- 输入密码后,ssh-copy-id 会将公钥上传到服务器的 ~/.ssh/authorized_keys 文件中
- 如果成功,你会看到类似以下输出:
Number of key(s) added: 1Now try logging into the machine, with: "ssh -p 12803 root@xxxx.com"
and check to make sure that only the key(s) you wanted were added.
3. 验证免密登录
ssh -p 22 user@serverIp
如果不需要密码,那就说明你已经成功了。
vs code 免密登录
完成上述操作后,你已经完成80%的操作了。
- 在vs coder 扩展市场中下载
Remote-SSH
扩展
- 进入扩展配置
- 配置你服务器的ip和port即可
Host 111.111.111.111HostName 111.111.111.111User rootPort 60022
- 然后回到上面第二步,选择你的服务器连接即可