解决ssh免密码登录 非默认端口22免密钥登录
解决ssh免密码登录
服务器A192.168.0.42
服务器B192.168.0.44
服务器A,B安装yuminstallopenssh-clients-y
产生秘钥ssh-keygen-trsa
上传公钥scp.ssh/[email protected]:/root/.ssh/authorized_keys
遇到ssh修改了默认的端口22不能免密钥登录解决方法:
vim/etc/ssh/sshd_config
去掉以下三行之前的#
RSAAuthenticationyes
PubkeyAuthenticationyes
AuthorizedKeysFile.ssh/authorized_keys
重启ssh服务servicesshdrestart重新产生秘钥,并上传公钥到另外一台服务器。
转自:http://9040429.blog.51cto.com/9030429/1774619
普通用户如何设置SSH无密码访问
生成密钥及授权文件一般过程:
假设客户机名sy1,IP为ip1.用户名user;服务器名sy2.IP为ip2.用户名user
在sy1上输入:
ssh-keygen-trsa
然后弹出一些问题,一路回车。然后输入:
scp~/.ssh/id_rsa.pubuser@ip2:/home/user/.ssh/ip2
输入sy2上user的密码,拷贝完成。
在sy2上,输入:cat~/.ssh/ip2>>~/.ssh/authorized_keys
(以上步骤也可用ssh-copy-id命令:ssh-copy-iduser@ip2,不过少了一个授权文件的备份ip2)在ubuntu10.04里,相关文件和目录的权限都不需要改。但是会有另外一个问题就是sy2返回Agentadmittedfailuretosignusingthekey错误,简单处理方法就是在sy1上执行两个命令:ssh-agentssh-addid_rsa然后sy1就可以实现无密码登录了。要实现相互无密码访问,要在sy2上按照相应步骤执行。
对于普通用户authorized_keys的权限必须限定为600(go-rwx),否则普通用户无法实现无密钥访问,而ROOT用户按照默认即可实现无密钥访问
chmodgo-rwx~/.ssh/authorized_keys
不能无字码访问多半是权限问题:
.ssh目录的权限和authorized_keys的权限都要看,权限大了是不行的
.ssh的权限700,authorized_keys的权限600,就够了,属主要是登陆用户自己(root是不行的),组无所谓
不管是什么原因,查/var/log/secure就明白了
转自:http://navyaijm.blog.51cto.com/4647068/816618