Linux SSH配置证书登录 告别密码
获取证书
如果没有证书:输入以下代码生成
输入后在当前目录下的隐藏文件夹
.ssh中生成公钥id_rsa.pub和私钥id_rsa。期间会让你输入私钥路径和密码,留空默认即可。
生成完成后本地保存私钥,服务器仅保留公钥。
1
2cd ~ #回到主目录
ssh-keygen -t rsa #生成证书如果已拥有证书:上传公钥
id_rsa.pub到服务器主目录的文件夹.ssh下
设置证书登录
进入
.ssh目录1
2cd ~
cd .ssh新建密钥验证文件
authorized_keys,并将公钥输出重定向覆盖密钥验证文件1
2touch authorized_keys #创建一个名为authorized_keys的空文件,可以使用其他指令
cat id_rsa.pub >> authorized_keys #将公钥内容导入到authorized_keys文件内修改
authorized_keys文件权限为6001
chmod 600 authorized_keys #chmod修改权限为600
修改
/etc/ssh/sshd_config如下部分1
2
3RSAAuthentication yes #开启RSA验证(貌似部分没有这个选项
PubkeyAuthentication yes #是否使用公钥验证
AuthorizedKeysFile .ssh/authorized_keys #公钥的保存位置重启sshd服务
1
2
3systemctl restart sshd.service
#或者
service sshd restart本地使用密钥登录,测试是否有配置问题
测试无误后再次修改
/etc/ssh/sshd_config,把密码登录关闭警告!错误的配置会造成无法挽回的后果,请先测试后再关闭密码登录
1
2
3systemctl restart sshd.service
#或者
service sshd restart
Tips
证书登录对以下文件有权限要求(默认无需修改):
1
2
3chmod 700 ~ # 即主目录 权限为 700
chmod 700 ~/.ssh # 权限为 700
chmod 600 ~/.ssh/authorized_keys # 权限为 600
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 默世之夕!