前言:
我所理解的是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