ssh免密登录配置
ssh服务
默认端口号:22
配置文件:/etc/ssh/sshd_config
启动服务:service sshd start
第一步:生成密钥对
[root@jia1 ~]# ssh-keygen ssh-keygen生成密钥对。默认使用rsa算法。可以使用-t参数指定如ssh-keygen -t dsa 使用dsa算法加密
[root@jia1 ~]# ls /root/.ssh/
id_rsa id_rsa.pub
私钥 公钥
第二步:把公钥传到需要免密登录的机器上
[root@jia1 ~]# ssh-copy-id -i ~/ .ssh/id_rsa.pub 192.168.1.1
root@192.168.1.1's password:
Now try logging into the machine, with "ssh '192.168.1.1'", and check in:
.ssh/authorized_keys 服务器上的公钥文件必须为这个名字
to make sure we haven't added extra keys that you weren't expecting.
可以设置必须密钥登录 如果设置了那么就只能使用密钥而不能再使用账号密码。
[root@jia1 ~]# vim /etc/ssh/sshd_config
PasswordAuthentication no
错误:因为多次密钥操作缓存为更新
[root@jia1 .ssh]# ssh 192.168.1.1
Agent admitted failure to sign using the key.
root@192.168.1.1's password:
解决:ssh-add
[root@jia1 .ssh]# ssh-add
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
[root@jia1 .ssh]# ssh 192.168.1.1
Last login: Thu Aug 25 13:14:37 2016 from 192.168.1.10
第三步:当多台需要免密登录时可以这样做
生成密钥对:
[root@jia1 ~]# ssh-keygen
将公钥传输给本机:
[root@jia1 ~]# ssh-copy-id -i 192.168.1.254
上边这条命令实际就是把id_rsa.pub复制一份改名成authorized_keys。
所以也可以这样:[root@jia1 ~]# cd /root/.ssh/ && cat id_rsa.pub > authorized_keys
拷贝.ssh目录到其他主机,完成免密登录
[root@jia1 ~]# scp -r /root/.ssh/ 192.168.1.1:/root/