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/

原文地址:https://www.cnblogs.com/liuqiang0/p/8663481.html