CentOS 配置SSH免密码登陆

来源:互联网 发布:能下超清mv的软件 编辑:程序博客网 时间:2024/05/18 14:14

客户机配置
1.查看~/.ssh文件夹,若已经存在有公钥文件(id_rsa.pub),私钥文件(id_rsa),则可以跳过客户端配置.

2.生成密钥文件.
$ ssh-keygen
然后一路回车.
然后~/.ssh下会生成id_rsa.pub和id_rsa, 其中id_rsa文件起到唯一标识你的客户机的作用.
注意:不要改这两个文件的文件名,ssh登陆时会读取id_rsa文件.

服务器配置
1.修改sshd配置文件(/etc/ssh/sshd_config).

找到以下内容,并去掉注释符”#“=========================  RSAAuthentication yes  PubkeyAuthentication yes  AuthorizedKeysFile  .ssh/authorized_keys=========================

2.配置authorized_keys文件.
若’~/.ssh/authorized_keys’不存在,则建立.ssh文件夹和authorized_keys文件.
将上文中客户机id_rsa.pub的内容拷贝到authorized_keys中.
PS:可以在客户机中执行命令来拷贝:
cat ~/.ssh/id_rsa.pub | ssh user@host “cat - >> ~/.ssh/authorized_keys”

注意:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600
3) root(服务器端的用户名)@ip(服务器端的ip)
3.重启sshd.
$ /etc/init.d/sshd restart

测试

客户机执行:ssh -v user@host (-v 调试模式)
会显示一些登陆信息.
若登陆失败,或者仍然要输入密码,可以在服务器查看日志文件:/var/log/secure.

若登陆成功,则以后就可以用’ssh user@host’ 直接登陆了,不用输入密码.

错误bug解决方法:
问题二、
ssh到server上的时候密码是对的但是报如下信息:

 ssh 192.168.***.**

root@192.168.*.’s password:
Permission denied, please try again.
这个是由于如果不输入用户名的时候默认的是root用户,但是安全期间ssh服务默认没有开root用户的ssh权限
解决方法:
要修改root的ssh权限,即修改 /etc/ssh/sshd_config文件中
PermitRootLogin no 改为 PermitRootLogin yes

0 0
原创粉丝点击