如何实现基于密钥的方式建立连接登录
管理端操作步骤
第一个历程:在管理端 创建公钥 私钥(创建密钥对)
[root@m01 ~]# ssh-keygen -t dsa
Generating public/private dsa key pair. ---生成秘钥对
Enter file in which to save the key (/root/.ssh/id_dsa): ---确认私钥保存在哪
Enter passphrase (empty for no passphrase): --- 是否给私钥设置密码
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa. 私钥
Your public key has been saved in /root/.ssh/id_dsa.pub. 公钥
第二个历程:分发公钥
#ssh-copy-id -i 需要传输的公钥路径信息 用户信息@IP地址信息
[root@m01 ~]#ssh-copy-id -i ~/.ssh/id_dsa.pub 172.16.1.41
[root@m01 ~]#ll ~/.ssh/ 查看是否有此文件
第三个历程:进行远程连接测试
不需要输入密码就可以进行远程连接
不需要输入密码就可以进行远程操作
ssh 172.16.1.41 ip a
被管理端操作步骤:
1)接收分发的公钥信息进行保存
[root@web01 ~]# ll ~/.ssh/id_dsa.pub
2)将公钥信息进行重命名
[root@web01 ~]# ll ~/.ssh/authorized_keys -- 便于被ssh服务可以识别加载
3)修改分发后公钥权限
[root@web01 ~]#chmod 600 ~/.ssh/authorized_keys
初始批量分发公钥的脚本
[root@nfs01 ~]# vim /server/scripts/fenfa.sh
#初始批量分发公钥的脚本
#!/bin/bash
for ip in 31 41
do
ssh-copy-id -i ~/.ssh/id_dsa.pub 172.16.1.$ip
done
做好/etc/hosts 解析,是分发秘钥的基础
[root@m01 ~]# cat >/etc/hosts<<EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.51 db01 db01.etiantian.org
172.16.1.61 m01
EOF
查看并检查
[root@m01 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.51 db01 db01.etiantian.org
172.16.1.61 m01
网友评论