前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSH连服务器时,连接不上,出现以下错误的原因与解决办法

SSH连服务器时,连接不上,出现以下错误的原因与解决办法

作者头像
入门笔记
发布2022-11-14 09:52:08
12.6K0
发布2022-11-14 09:52:08
举报
文章被收录于专栏:入门小站

一.ssh: connect to host 192.168.110.249 port 22: Connection refused错误的原因与解决办法

在用 [ssh]远程登陆服务器时遇到如下问题:

代码语言:javascript
复制
ssh: connect to host 192.168.xxx.xxx port 22: Connection refused

解决方法:

  1. 检查是否安装了 [openssh]
代码语言:javascript
复制
ps -e | grep ssh

如果只出现了一个 ssh,说明没有安装 sshd, 使用命令安装 sshd 服务

代码语言:javascript
复制
apt-get install openssh-server

2.sshd 未启动

代码语言:javascript
复制
service sshd restart

ok,现在可以使用 ssh 连接了

二.“Permission denied,please try again” 错误的原因与解决办法

有时候我们需要使用 ssh 连接服务器,一般情况下可以正常连上,不过有时候还是会出现这个错误 “Permission denied,please try again”,错误原因: 服务器能拒绝,说明网络和 ssh 服务没有问题,出现这个问题的最可能的原因是: 1. 账号不存在; 2. 输入密码有误;3. 该账号被禁止登录了(如 sshd 配置文件中禁止 root 登录)。

解决方法:

  1. 服务器上用命令(id testroot)查看该用户名是否存在,如不存在,则创建该用户(useradd testroot),并为该用户设置密码(passwd testroot)
代码语言:javascript
复制
# id testroot
# useradd testroot
# passwd testroot
  1. 检查并确定密码没有错误
  2. 若是 root 用户登录提示上述错误,一般是配置文件中将 root 设置为不允许[远程登录],编辑 sshd 配置文件,将 PermitRootLogin 设置为 yes,以允许 root 登录。最后重启 sshd 服务(systemctl restart sshd)
代码语言:javascript
复制
vim /etc/ssh/sshd_config 
...
PermitRootLogin yes
...
代码语言:javascript
复制
systemctl restart sshd

ok, 问题解决

3.‘...Host key verification failed’

代码语言:javascript
复制
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:W7VYm+7GNwzifa0h1l9hFWEzSBelJazMTXSYkBn5xyw.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:2
  remove with:
  ssh-keygen -f "/root/.ssh/known_hosts" -R "192.168.110.249"
ECDSA host key for 192.168.110.249 has changed and you have requested strict checking.
Host key verification failed.

解决方法:

仔细分析了一下大概是因为 192.168.110.249 的主机密钥改了,而本机使用的还是原来的公钥与其匹配,因此会出现错误。一旦使用本机 ssh 连接过目标机,则会在~/.ssh/know_hosts 文件下生成目标机的公钥,以便下次可以直接使用。所以,我们可以把该文件下 192.168.110.249 对应的公钥删除掉,或者直接删除 know_hosts

代码语言:javascript
复制
rm -rf ~/.ssh/known_hosts
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档