天天看点

ssh无密码登录问题

ssh无密码登录配置:

ssh无密码登录问题
ssh无密码登录问题

可参考如下两篇文章:

首先,root修改/etc/ssh/sshd_config文件(客户端、服务器都需要更改)

将“#authorizedkeysfile .ssh/authorized_keys”前面的#号去掉

即,启用“authorizedkeysfile .ssh/authorized_keys”

(如果需要root也能ssh登录,把“#permitrootlogin yes”前面的#号也去掉)

同样root账户下,/etc/rc.d/init.d/sshd restart重启sshd服务使之生效

(客户端中)切换到需要ssh登录的帐户下:

ssh-keygen -t rsa 产生公私钥对

回车 采用默认文件保存钥匙

xxxxx 回车 键入密码短语,直接回车为不建立密码短语。密码短语至少5个字符

xxxxx 回车 重复密码短语,直接回车为不建立密码短语

公私钥产生在此账户的.ssh目录中,id_rsa为私钥,id_rsa.pub为公钥

(服务器中)切换到需要ssh登录的帐户下:

如果服务器中尚未建立公私钥对,那么首先按照客户端的方法建立公私钥对

scp 账户名@客户端主机名或ip地址:/home/帐户名/.ssh/id_rsa.pub /home/帐户名/

将客户端账户的公钥拷到服务器中。客户端用主机名或ip地址均可,但是需与ssh登录命令相符,建议将主机名与ip地址写入/etc/hosts中,此处用主机名即可(下同)。

yes 将客户端写入known_hosts中

输入客户端中的账户密码完成复制

cat /home/帐户名/id_rsa.pub >>/home/帐户名/.ssh/authorized_keys 将id_rsa.pub中的内桶添加到authorized_keys文件中,authorized_keys文件名需与sshd_config中的设置相符。

chmod 644 /home/帐户名/.ssh/authorized_keys 修改authorized_keys文件的权限,至少为644,也可更为严厉(600),不修改的话ssh无密码登录不起作用。

ssh 服务器主机名 登录服务器,若在服务器与客户端中的帐户名不同,则

ssh 帐户名@服务器主机名

yes 将服务器写入known_hosts中

若产生公私钥时设置了密码短语,还需要输入密码短语,为了方便,可在客户端中

ssh-add,然后输入密码短语,下次再ssh登录,无需再输入密码短语

关于公私钥对的一点理解:

公 私钥对就像是一套钥匙和锁,公钥是锁,私钥是钥匙。私钥留在客户端中,公钥发给服务器。服务器可以有很多把锁,客户端只有一把钥匙。当客户端ssh登录服 务器时,服务器会找到这个客户端发的锁,然后跟客户端要钥匙,如果钥匙是配套的,那么登录成功,反之登录失败。当然,以上是针对同一个用户说的,不同用户 的公私钥对也不同,而且每次ssh-keygen产生的公私钥对也不同。

转载请注明出处:http://www.cnblogs.com/haochuang/ 8年it工作经验,5年测试技术与管理,2年产品与项目管理,曾参与过云计算\云存储\车联网产品研发工作; 业余自媒体人,有技术类垂直微信公众号;如有招聘或求职方面需求,请mail to [email protected] ;或通过 qq:363573922 微博:@念槐聚 联系;

继续阅读