Linux配置Key,禁止root实现免密码登陆

时间:2021-12-18 14:28:22

前言:

       我所理解的是Key登陆认证方式,其实就是拿私钥去解密公钥,私钥需要自己妥善保管,公钥可以随意公开。

废话少说,准备2台服务器,Server1:192.168.1.1   Server2:192.168.1.2

 

Server1配置:

1、生成密钥对

ssh-keygen -b 2048 -t rsa     #这里的-b 2048 是密钥加密的长度,最好设大点,回车直接敲三次,默认生成路径:/root/.ssh/    id_rsa   私钥文件   id_rsa.pub  公钥文件,这个文件里的内容要放到其它主机里面去。

2、将公钥导入到authorized文件里面

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys   #别的服务器请粘贴过来,这里是一行文本,贴过来小心空格

3、修改ssh配置文件开启认证秘钥登陆关闭root

vim  /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
#默认是注释掉的。去除注释
PasswordAuthentication yes 修改为:PasswordAuthentication no #禁止root登陆
/etc/init.d/sshd restart #重启服务

4、验证登陆

4.1 使用Server0.2 生成的id_rsa_pub复制到Server01的/root/.ssh/authorized_keys中
more /root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxAepfzOUdixMVokK0JBEta/0uuDQxS2n69+vtHIA7F5FYZItqi8pj2GhP8XSvraw+hwphTkcR3qD9xKrEK3xyPCyMWyk7OjY6Ps7Hqo585E5b
oGYATuAWKPQL8tQnjodKv4xVgwUGVDnRYxHO7FyB8lf2KSLfrBHk88AxwTha8mWMgmcK3x/7MZZ1KBLUCG8tm1Ld9qiT3rYtQIiMt+FeC0HR0hR0NY3Y3LQG0QhhOLTF8UccgdSt7ASoX0IXi
iI1M67ksL7G1gU/F+ppURJHvm3I7tYalIa3KcDKI+3GSCWJoHffYscxXsM24h+K1NeiGSPwSwrm5Gh3WjJjWVUjQ== root@localhost
#接着在Server01 直接ssh root@192.168.1.1 提示yes 后则不需要输入密码了。


4.2 如果单单只是做本地客户端Key登陆,将私钥id_rsa(名字可随意修改)下载到自己电脑上。
mkdir -p /home/youname/.ssh/
chmod 600 /home/youname/.ssh/id_rsa
ssh -i /home/youname/.ssh/id_rsa root@192.168.1.1