今天在做rsyn的同步备时出现了permission deny的问题,经过我重新整理先前的实验,总结了一些方法如下:
一、在ssh服务器正常开启的情况下,出现在permission deny分别有以下几种情况:
1、在本机用ssh连接时也出现权限拒绝。分两种情况:
当前用户是普通用户时:检查帐户和密码是否正确,当确定为正确时,查看/etc/ssh/sshd_config文化的对用户授权选项:如AllowUsers、AllowGroups 当它启用时,只有它明确指出的用户和用户组有权限登录,其他的都会报permission deny的错误。
DenyUsers、DenyGroups 当它启用时,它明确指出的用户和组不能登录。
当一个用户或组在Allow*和Deny*选项指定时,他不能登录了。
当当前用户是root时,默认为了系统的安全性,ssh不允许root登录,用想开启权限,则要在/etc/ssh/sshd_config文件中修改:PermitRootLogin YES为开启,并且确保下面的Allow*和Deny*参数对root不会产生影响。
2、当用户能在当前主机上登录,但在其他主机上不能ssh登录时:
a、防火墙阻挡了请求.检查防火墙上策略。
b、当防火墙上关闭或者没有阻挡时,看/etc/hosts.allow或/etc/hosts.deny文件上有没有关于
sshd * *** 的关键语句禁止了连接。
c、当前两个可能都排除后,还有个可能就是selinux会阻挡
可以用:getenforce 查看当前的selinux的状态。当为Enforcing时表示启用了selinux,这时我们可以通过“#setforce 0”,把selinux状态改为Permissive状态。
二、一开始连接ssh时,产生如下错误:(host key verification failed)
![](../p_w_upload/201212/123414239.bmp)
原因:是本地保存的RSA key与ssh服务器正在使用的不一致造成的,可能是在服务器上把/etc/ssh/ssh_host_*上相关的文件被删除后重新启动服务,又自动重新生成了新的ssh_host_*的文件,才导致认证的不一至现象。
解决方法:在用户的/home目录上,把".ssh"(隐藏目录)下的:know_hosts文件删除,重新登录时,服务器就会要求它接受新的RSA key,而不会检查现有的RSA key,所以能正常登录。
转载于:https://blog.51cto.com/plong/1083432