Fork me on GitHub

ssh无密码登录问题

ssh无密码登录配置:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
vi /etc/ssh/sshd_config


重启sshd
/etc/rc.d/init.d/sshd  restart
cat ~/id_rsa.pub >> /root/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys
ssh root@192.168.82.3

cat id_rsa.pub  >> authorized_keys
scp id_rsa.pub root@192.168.82.3:/root

可参考如下两篇文章:

1.http://union100.blog.163.com/blog/static/36057028201111210179660/

2.http://50059.blog.51cto.com/40059/290460

 

首先,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 服务器主机名 登录服务器,若在服务器与客户端中的帐户名不同,则
ssh 帐户名@服务器主机名
yes 将服务器写入known_hosts中
若产生公私钥时设置了密码短语,还需要输入密码短语,为了方便,可在客户端中
ssh-add,然后输入密码短语,下次再ssh登录,无需再输入密码短语
 
关于公私钥对的一点理解:
公 私钥对就像是一套钥匙和锁,公钥是锁,私钥是钥匙。私钥留在客户端中,公钥发给服务器。服务器可以有很多把锁,客户端只有一把钥匙。当客户端ssh登录服 务器时,服务器会找到这个客户端发的锁,然后跟客户端要钥匙,如果钥匙是配套的,那么登录成功,反之登录失败。当然,以上是针对同一个用户说的,不同用户 的公私钥对也不同,而且每次ssh-keygen产生的公私钥对也不同。
posted @ 2012-09-06 09:31  念槐聚  阅读(454)  评论(0编辑  收藏  举报

IT技术&应用开发&研究 - 创建于 2008年05月12日

这是一位IT工程师的个人站,内容主要是网站开发方面的技术文章,大部分来自学习或工作,部分来源于网络,希望对大家有所帮助。

致力于软件学习&研究工作,涉及Linux与软件开发出、测试、产品、行业相关知识,关注互联网前沿技术与与创业趋势等。


博客园 | Github | W3C

返回顶部