linux系统开启秘钥认证登录详解

本文以已经产生好私钥和公钥为前提去讲述后续的增加秘钥认证的步骤:(秘钥的生成工具为:ssh-keygen,命令执行完后会在 当前 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥)
下面开始正式的开启秘钥认证:
1、添加用户
useradd test -d /home/test
2、设定密码
passwd test
#请输入新用户密码(密码会让输入两次)
3、创建目录及文件
mkdir /home/test/.ssh
touch /home/test/.ssh/authorized_keys
4、修正所有者
sudo chown -R test. /home/test/.ssh
5、rz -be
#选择id_rsa.pub 等待上传完成 (此处假设的是你在另一台中心服务器或你的电脑上生成了或已拿到公钥)
sh -c 'cat id_rsa.pub >> /home/test/.ssh/authorized_keys'
6、检查确认
cat /home/test/.ssh/authorized_keys
7、修改权限
chmod 700 /home/test/.ssh
chmod 600 /home/test/.ssh/authorized_keys
8、设定sudo权限(不过不想让ksyun账户具有切换到root的权限,可不配置此处)
sudo visudo
找到root ALL=(ALL) ALL那一段,在其后添加
test ALL=(ALL) NOPASSWD:ALL
9、 设置 SSH,打开密钥登录功能
编辑 /etc/ssh/sshd_config 文件:sudo vim /etc/ssh/sshd_config,添加如下设置:
RSAAuthentication yes
PubkeyAuthentication yes
10、保存后,重启 SSH 服务:
service sshd restart
(1)使用你配置机器时设置的用户名和密码能否通过 SSH 登录
(2)注意root的权限配置为:
PermitRootLogin yes
使用 root 用户和密码能否通过 SSH 登录
(3)以密钥方式登录是否成功:
在你的linux系统上登录目标机器 ssh -i ./id_rsa [email protected] 或者在windows系统上使用连接工具通过私钥去登录目标机器

11、禁用密码登录:
PasswordAuthentication no
最后,重启 SSH 服务:
service sshd restart
再次测试可以使用秘钥登录机器是否成功
此时通过用户名和密码已无法登录机器

猜你喜欢

转载自www.cnblogs.com/qinshizhishi/p/13183725.html