ssh登陆不上的一般性解决方法
ssh登陆不上的一般性解决方法
wang__tao 发表于2年前
ssh登陆不上的一般性解决方法
  • 发表于 2年前
  • 阅读 38
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

ssh的英文全称是Secure SHell,这是一种既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的"通道"。ssh有很多的参数,下面就来介绍两个比较常用的参数

PermitRootLogin prohibit-password 这个参数的意思是否允许远程root登陆,默认是禁止远程root密码登陆,若是需要远程root登陆,就需要把这个更改为yes

PasswordAuthentication 这个参数是用来定义是否允许用密码登陆,这个在一般的情况下是yes,当然也有no情况

其他的参数设置参考这篇文档

###一般在ssh会遇到的问题

  • 提示
# ssh 172.16.81.221
ssh: connect to host 172.16.81.221 port 22: No route to host

这由于server端没有开机或是网络不通,或者是主机down了

  • 提示
# ssh work@172.16.81.221
ssh: connect to host 172.16.81.221 port 22: Connection refused

这是因为对方的ssh服务没有开,开启对端sever的ssh即可

  • 提示
# ssh 172.16.81.221
root@172.16.81.221's password:
Permission denied, please try again.

这是由于在不输入用户名的情况下,默认是root用户登陆,结果可能是对端不允许root登陆.

  • 提示
ssh root@172.16.81.221
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
76:fb:b3:70:14:48:19:d6:29:f9:ba:42:46:be:fb:77.
Please contact your system administrator.
Add correct host key in /home/fante/.ssh/known_hosts to get rid of this
message.
Offending key in /home/fante/.ssh/known_hosts:68
RSA host key for 172.16.81.221 has changed and you have requested strict checking.
Host key verification failed

这是因为对端密码或是ip对应的server等其他发生改变,与当前的不一致导致的,删除~/.ssh/known_hosts的对应行,然后再登录即可。

  • 提示
Xshell:\> ssh 121.207.***.***
Connecting to 121.207.***.***:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Connection closed by foreign host. 
Type `help' to learn how to use Xshell prompt.

在服务器上重启sshd服务时,有WARNNING的,但是,sshd服务是可以启动的,那么,问题可能 出现在/etc/ssh/下面文件权限不对导致的,可以找一个可以使用的,然后对比一下,就可以发现其中的区别了。

###限制登陆服务器

  • 增加hosts.deny或者是hosts.allow,限制ip
    增加 /etc/hosts.deny 文件内容:
sshd:ALL

增加:/etc/hosts.allow 文件,

sshd:192.168.10.0/255.255.255.0(准许的网段)

或者是

sshd:192.168.10.1(准许的ip)

然后重启ssh服务,这两个文件是tcpd的配置文件,tcpd可以控制外部ip对本机的访问,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。ALL匹配所有情况,EXCEPT匹配除了某些项之外的情况,PARANOID匹配你想控制的IP地址和它的域名不匹配时(域名伪装)的情况。在两个配置文件有冲突时,linux 系统会先检查/etc/hosts.deny规则,再检查/etc/hosts.allow规则,如果有冲突 按/etc/hosts.allow规则处理。

  • 限制用户 需要修改/etc/sshd/sshd_config文件中增加指定的用户例如:AllowUsers user,如果有多个用户,可以使用空格隔开,也可以使用user@host的方法,而且,还支持user@ip/netmask的方式,如只允许192.168.1.0/24的网段使用root登陆,首先,要把PermitRootLogin设为yes,注掉也不行,因为其默认值即prohibit-password,然后在最后一行上加上
AllowUsers root@192.168.1.0/24
  • 限制输入密码的次数 修改MaxAuthTries
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 68
码字总数 33311
×
wang__tao
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: