windows使用vscode设置免密登录linux服务器

秘钥原理解释

id_rsa.pub是公钥,部署在服务器上
id_rsa是私钥,放在windows本地
本质上它们都是个文本文件

操作流程

生成秘钥对(windows和linux均可,尽量使用linux, windows有时候会出错)

  1. ssh-keygen
    默认不设置密码即可,这一步会生成两个文件,文件名可以自己设置
  • id_rsa.pub是公钥,部署在服务器上
  • id_rsa是私钥,放在windows本地

第二步,将公钥部署在服务器上,私钥放在windows本地

  1. 把公钥的文件内容放在authorized_keys文件中,之后就可以把公钥文件本身删除,且authorized_keys文件可以存储多个公钥

    cat id_rsa.pub >> authorized_keys 
    
  2. 设置.ssh文件夹和authorized_keys的读取权限为自己

    chmod 600 authorized_keys
    chmod 700 ~/.ssh
    

第三步,检查秘钥登陆功能是否开启,没有管理员权限就无法操作了

参考:Linux 部署私钥实现免密登录

第四步,进行本地私钥部署

私钥就是刚刚服务器生成的id_rsa,将它下载下来,存放在任意位置,这里有个坑就是私钥需要设置使用权限,自己做的时候这一步花了很多时间,解决方法参考 解决windows10中ssh(OpenSSH_for_Windows)远程登录时报Permissions for "xxx" are too open错误
这里简单说一下,就是找到你的私钥文件,然后属性>安全>高级>禁用继承>添加>选择主体>输入你的用户名>检查名称>确定>应用。总的来说意思就是不允许其他用户使用你的这个私钥。

第五步,进行vscode的设置

在vscode远程配置文件中(ctrl+shift+p,搜索remote config),
修改如下:

Host Ali-Dev-Test
  HostName *.*.*.*
  User root
  IdentityFile "H:我的云端硬盘Securityssh-keyid_rsa"
原文地址:https://www.cnblogs.com/benbenxiaofeifei/p/13966836.html