我正在尝试启用ssh连接来suse linux。我有运行sshd服务:
peeyush@linux-pohb:~/gccgo.work> systemctl status sshd.service
sshd.service - OpenSSH Daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since Thu 2015-03-19 18:36:05 IST; 3h 50min ago
Process: 5702 ExecStartPre=/usr/sbin/sshd-gen-keys-start (code=exited, status=0/SUCCESS)
Main PID: 6035 (sshd)
CGroup: /system.slice/sshd.service
└─6035 /usr/sbin/sshd -D
Mar 19 18:36:01 linux-pohb sshd-gen-keys-start[5702]: Checking for missing se...
Mar 19 18:36:05 linux-pohb sshd-gen-keys-start[5702]: ssh-keygen: generating ...
Mar 19 18:36:06 linux-pohb sshd[6035]: Server listening on 0.0.0.0 port 22.
Mar 19 18:36:06 linux-pohb sshd[6035]: Server listening on :: port 22.
Hint: Some lines were ellipsized, use -l to show in full.
正在侦听端口22:
peeyush@linux-pohb:~/gccgo.work> netstat -an | grep :22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
但我无法连接到它。
[root@lep8a peeyush]# ssh root@192.168.122.19
ssh: connect to host 192.168.122.19 port 22: Connection timed out
我的头脑在寻找互联网上的解决方案。什么都行不通。 你能帮帮我吗?
答案 0 :(得分:16)
检查防火墙是否接受端口22上的传入TCP连接:
# iptables -nL | grep 22
如果结果为空,则必须在防火墙中添加规则。
打开Yast和防火墙配置:
# yast firewall
转到“允许的服务”并添加“Secure Shell Server”。保存并退出Yast并尝试连接。
评论:如果您完全禁用了防火墙(不推荐),则此答案不适用。
答案 1 :(得分:7)
运行此命令:
systemctl enable sshd.service
然后在/etc/ssh/sshd_config
文件中进行必要的更改,并通过以下方式启动sshd
systemctl start sshd.service
答案 2 :(得分:1)
我在 SUSE Linux Enterprise Server 15 x86-64 中遇到了相同的问题。在系统内,我可以进行# ssh 127.0.0.1
(因此sshd服务可以正常工作),但是从其他节点上我收到了“超时”消息。
首先,我检查了防火墙规则(请参阅xloto的答案):
# iptables -nL | grep 22
导致返回的消息为空,因此我们需要设置其他规则。
要为SSH的标准端口22设置防火墙规则,我遵循another tutorial(因为我没有GUI):
# firewall-cmd --permanent --add-service=ssh
# firewall-cmd --reload
这对我的情况有用,但是我不确定这是否是最佳实践。