【已解决】ssh localhost报错ssh: connect to host localhost port 22: Connection refused

情况描述:

起因是安装一些软件包后可能默认改了ssh相关配置文件,突然远程连接服务器失败,且之前设置过免密登录,但一直提示输入密码,输入正确密码后又没反应,如图,提示Permission denied, please try again.

问题已解决,解决方法直接跳到目录【最后的解决办法】查看。

后来发现ssh localhost都会连接失败,如图,提示ssh: connect to host localhost port 22: Connection refused

检查了本地windows系统的服务管理器,发现ssh服务没有开启,是关闭状态,如图

启动服务

启动不了,发现被禁用了

启动成功。重新测试ssh

还是不可以QAQ,不过本地不会报那样的错误了,而是一直提示输入密码,输入后还是登不上。

后来报错改成了下面这样Permission denied(publickey,password):

最后的解决办法:

从远程要连接的服务器端,修改了当前用户的密码(这里是重新设置为了原本的密码,换成新的密码也可以)之后,输入密码可以继续登陆了。但是还是不可以免密登录,说明之前配置的相关密钥设置文件不可用了,后面重新在本地使用ssh-keygen命令生成了新的密钥,然后更换了服务器的密钥文件内容,之后可继续免密登录了。

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ssh: connect to host 192.168.31.1 port 22: Connection refusedSSH连接服务器时出现的错误。这个错误通常是由于以下几个原因引起的: 1. SSH服务未启动:请确保目标服务器上的SSH服务已经启动。你可以通过以下命令检查SSH服务的状态: ```shell sudo service ssh status ``` 如果SSH服务未启动,你可以使用以下命令启动SSH服务: ```shell sudo service ssh start ``` 2. 防火墙阻止了SSH连接:防火墙可能会阻止SSH连接。你可以尝试关闭防火墙或者允许SSH连接通过防火墙。具体的操作取决于你使用的防火墙软件和操作系统。 3. SSH端口被修改:默认情况下,SSH使用22端口进行连接。如果目标服务器的SSH端口被修改了,你需要使用修改后的端口进行连接。例如,如果SSH端口被修改为2222,你可以使用以下命令进行连接: ```shell ssh -p 2222 [email protected] ``` 4. 目标服务器不允许SSH连接:有时候,目标服务器可能不允许SSH连接。这可能是由于安全策略或配置错误引起的。请确保你有权限连接到目标服务器,并且目标服务器的SSH配置正确。 总结起来,当出现ssh: connect to host 192.168.31.1 port 22: Connection refused错误时,你可以按照以下步骤进行排查和解决: 1. 检查目标服务器上的SSH服务是否启动。 2. 检查防火墙是否阻止了SSH连接。 3. 检查SSH端口是否被修改。 4. 确保你有权限连接到目标服务器,并且目标服务器的SSH配置正确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值