今天遇到一个很有意思的问题,自己的一台 Linux 服务器能够 ping 的通,但是却无法用 SSH 登录连接,于是在网上查询了一些资料,说的也是五花八门,什么都有,最终还是自己摸索才解决了问题。于是在这里分享一下。

一、开启SSH

以 root 用户登录 Linux,打开终端,运行:/etc/init.d/sshd restrat

二、关闭防火墙

1、在终端运行 setup

2、选择 firewall 回车

3、按 tab 键切换到 disablede 项,然后按空格键选择,然后再按tab键切换到ok,按空格件选择

4、按 tab 键切换到 quit ,按空格件选择

然后用客户端 ssh 登录 Linux ,成功登录,呵呵 ^_^

三、关闭防火墙的另一种方式/etc/init.d/iptables stop

补充一个,红旗 linux 的某些版本,不允许 root 用户远程登陆的,需要修改设置 #vi /etc/ssh/sshd_config 中PermitRootLogin no

#这就不允许 root 用户远程登录,要修改成 PermitRootLogin yes 并重启sshd服务才行的#service sshd restart

四、对第一个问题的详细例子

刚刚在虚拟上装了一个 redhat AS5 ,从本地的 FC9 中 ssh 登录,发现连结失败:ssh: connect to host 192.168.206.11 port 22: Connection refused

lost connection

以为是虚拟机上的防火墙和 selinux 的问题,将这两个都关闭后,登录还是有问题,后来想想看看有没有sshd进程在运行,果然不出所料:#ps -ef|grep ssh

root 2774 2613 0 Dec09 ? 00:00:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c “gnome-session”

root 15899 11276 0 11:47 pts/1 00:00:00 grep ssh

发现只有 ssh agent 进程在运行,ssh server 进程 sshd 根本就没有运行,晕倒,怎么刚装的系统,怎么会就禁用了 sshd 服务了。呵呵,具体问题还得再研究。

启动sshd进程#services sshd start

Starting sshd: [ OK ]

重新登录OK。

ad.jpg

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐