秘钥原理解释
id_rsa.pub是公钥,部署在服务器上
id_rsa是私钥,放在windows本地
本质上它们都是个文本文件
操作流程
生成秘钥对(windows和linux均可,尽量使用linux, windows有时候会出错)
ssh-keygen
默认不设置密码即可,这一步会生成两个文件,文件名可以自己设置
- id_rsa.pub是公钥,部署在服务器上
- id_rsa是私钥,放在windows本地
第二步,将公钥部署在服务器上,私钥放在windows本地
-
把公钥的文件内容放在authorized_keys文件中,之后就可以把公钥文件本身删除,且authorized_keys文件可以存储多个公钥
cat id_rsa.pub >> authorized_keys
-
设置.ssh文件夹和authorized_keys的读取权限为自己
chmod 600 authorized_keys chmod 700 ~/.ssh
第三步,检查秘钥登陆功能是否开启,没有管理员权限就无法操作了
第四步,进行本地私钥部署
私钥就是刚刚服务器生成的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:\我的云端硬盘\Security\ssh-key\id_rsa"