去评论
海欣资源

ssh提示Connection refused的解决方法

Jenkins
2022/06/04 20:00:45
1.介绍

Ubuntu 18.04版本系统默认已安装ssh-client端,因此可以使用ssh去连接其他设备,但是未安装ssh-server,故若要用其他机器ssh本机时,会提示如下
ssh: connect to host *** port 22: Connection refused

2.ssh-server安装

【第一步】输入以下命令进行安装
sudo apt-get install openssh-server

【第二步】检查防火墙状态
sudo ufw status

如果返回结果是inactive,则需要打开防火墙
【第三步】打开防火墙
sudo ufw enable

此时执行第二步,查看状态,是否为active

【第四步】打开22端口
sudo ufw allow 22

【第五步】检查是否安装和启动ssh-server成功
执行如下命令,查看是否有22口listen
sudo netstat -tlnp |grep ssh

或执行下面的命令,检查是否有sshd
ps -e |grep ssh

截止至本步,ssh-server就已经安装完毕了,此时可以通过执行第六步验证是否成功
【第六步】验证结果
ssh localhost

输入密码后,查看是否成功,若提示permission deny,则看第三节。若成功,则忽略第三节内容。

3.配置文件
在执行完第二节的步骤以后,发现提示Permission deny。原因是自己使用的是root账户,而root账户默认是不能被ssh的,故需要修改配置文件。
【第一步】打开配置文件
gedit /etc/ssh/sshd_config

【第二步】修改文件内容
找到如下内容:
# Authentication:
#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes

可以发现,默认把root登入给屏蔽了,所以修改为如下
# Authentication:
#LoginGraceTime 2m
#PermitRootLogin without-password
PermitRootLogin yes
StrictModes yes

【第三步】重启ssh
/etc/init.d/ssh restart

【第四步】验证结果
ssh localhost

输入密码后,成功进入!