阿里云配置通用服务的坑 ssh: connect to host 47.103.101.102 port 22: Connection refused
1、~ wjw$ ssh root@47.103.101.102
ssh: connect to host 47.103.101.102 port 22: Connection refused
ssh 服务没有开:按照网上的解决思路:
1、重启 ssh 服务
$sudo service ssh restart 或者 \(/etc/init.d/ssh restart
查看服务状态:
\)ps -ef | grep ssh
结果是空的。
可能原因,ssh client 和server 不匹配
2、重新安装:
先移除
\(sudo apt-get move openssl-server openssl-client
再安装
sudo apt-get install openssl-server openssl-client
更新
sudo apt-get update
开启ssh 服务
\)sudo service ssh start 或/etc/init.d/ssh start
提示
网页远程登录:
\(systemctl status firewalld
提示
ssh start/running
但是
\)ps -ef | grep ssh
结果还是空的。
3、怀疑是ssh 配置问题?
$vi /etc/ssh/ssh_config
打开
Ptorocol 2
Prot 2
保存退出,重启服务,无效。。。估计很多人在这一步都把问题解决了
4、打开阿里云,检测安全组策略
22端口默认阿里云的INPUT是给你打开的。
查看22端口的占用情况
$ lsof -i:22
没有信息
问题不该在这
5、可能是iptables在我重启实例的时候 上次配置的防火墙规则没有自动生效
更改防火墙配置规则,先直接关闭防火墙
$sudo ufw disable
再次看ssh状态,还是无法连接
编辑iptables
$vi /etc/iptables.rules
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:syn-flood - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p icmp -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
-A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn-flood
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A syn-flood -p tcp -m limit --limit 3/sec --limit-burst 6 -j RETURN
-A syn-flood -j REJECT --reject-with icmp-port-unreachable
COMMIT
保存退出
执行命令:
$iptables-restore < /etc/iptables.rules
使规则生效。
**将添加的规则保存
iptables-save /etc/iptables.roles
编辑/etc/network/interfaces文件
vim /etc/network/interfaces
在末尾行添加一句
pre-up iptables-restore < /etc/iptables.rules
设置完成
以上添加内容参数释义:
pre-up: 网卡启用前的动作
up: 启用时候的动作
post-up: 启用后的动作
pre-down: 关闭前的动作
down: 关闭时动作
post-down: 关闭后动作
2、误配了 /usr/sshb/sshd 的配置项,
无论如何启动,都无法启动ssh 服务,中间有过重装 openssl-server,openssl-client 的过程。
起因是我遇到的问题,MAC终端使用 \(ssh root@ip 做远程连接的时候过一会自动掉线,网上建议说 配置 ssh的自动重连次数和重连间隔。
我估计是填错地方了,/usr/sbin/sshd 的最后一行有个 ServerAliveInterval 60
网上的方法是
\)cd /etc/ssh
$vi ssh_config
最后一样后面添加
ServerAliveInterval 60
导致无论用 $/etc/init.d/ssh start 还是 $sudo service ssh start 都无法启动ssh 服务,虽然命令提示 ssh 已经运行
使用 ps -ef | grep ssh 时列表总是空,看不到服务.
root@Jarvis:~# /etc/init.d/ssh restart
ssh stop/waiting
ssh start/running
root@Jarvis:~#