如何调试SSH连接

粉妆玉砌
• 阅读 799

本文将介绍一些可用于诊断SSH连接的快速方法和技术,包括何时无法连接SSH,身份验证错误等。
问题一:SSH服务没有运行
SSH连接错误的常见原因是服务未在远程服务器上运行。这可能是由于服务意外关闭或系统重新启动后服务未启动而引起的。

要检查SSH服务是否正在运行,请运行下面命令:

[root@server1 ~]# systemctl status sshd
如何调试SSH连接如何调试SSH连接

解决方法
使用以下命令设置SSH服务开机启动,并启动服务:

[root@server1 ~]# systemctl enable sshd
[root@server1 ~]# systemctl start sshd
问题二:非标准端口上的SSH
调试SSH连接时的第二个常见问题是使用非标准端口。如果SSH在默认端口22以外的其他端口上运行,则除非明确指定运行SSH的端口,否则将不能连接到远程主机。

要查看运行SSH的端口,请使用netstat之类的工具,如下所示:

[root@clean-idea-1 ~]# netstat -tlunp|grep sshd
tcp 0 0 0.0.0.0:28159 0.0.0.0:* LISTEN 818/sshd
tcp6 0 0 :::28159 :::* LISTEN 818/sshd
如何调试SSH连接如何调试SSH连接
上面的输出显示了SSH服务在哪个端口上运行。在这种情况下,它是端口28159。

解决方法
端口不是默认的22时,连接就需要指定端口了:

[root@server1 ~]# ssh root@192.168.43.131 -p 28159
问题三:端口被占用
SSH连接错误的另一个原因是其他服务或进程是否也使用与SSH服务相同的端口。例如,SSH的端口号为80,这和http服务的端口冲突了,则类似Apache的服务可能正在使用相同的端口。

要查看其他进程是否正在使用与SSH相同的端口,请使用以下命令检查日志:

[root@server1 ~]# journalctl -t sshd
该命令应返回如下所示的错误,显示端口已被占用。
如何调试SSH连接如何调试SSH连接

解决方法
在这可以修改ssh的端口号,打开配置文件将端口修改为其他的,Port 2222

vim /etc/ssh/sshd_config

Port 2222
如何调试SSH连接如何调试SSH连接

问题四:被防火墙阻止
如果尝试了上述所有方法,仍无法建立SSH连接,则可以看看防火墙是否阻止连接?

解决方法
在Cetnos8中,使用fireawlld查看防火墙,并将端口添加允许里面:

[root@server1 ~]# firewall-cmd --list-all
[root@server1 ~]# firewall-cmd --permanent --add-port=2222/tcp
success
[root@server1 ~]# firewall-cmd --reload
success
如何调试SSH连接如何调试SSH连接

问题五:已禁用密码登录
有时,您可以将SSH配置为不接受密码登录,而仅使用公密钥身份验证。如果公钥在服务器上不可用或缺少私钥对,则可能导致不能登录的问题。

解决方法
要检查/etc/ssh/sshd_config配置文件是否允许密码登录,请将ssh配置设置为如下:

[root@server1 ~]# grep PasswordAuthentication /etc/ssh/sshd_config

PasswordAuthentication yes

PasswordAuthentication yes

PasswordAuthentication. Depending on your PAM configuration,

PAM authentication, then enable this but set PasswordAuthentication

上面的输出显示允许密码登录。

总结
本文讨论了SSH连接错误的主要原因以及如何解决它们。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
3年前
SSH服务器设置
\ssh服务器/etc/init.d/sshd\stop|start|restart\netstattl可以查看ssh服务是否正在运行远程登录ssh:sshusername@hostnameeg:sshyangjia@localhost设置文件:/etc/ssh/sshd\_config(debian)
Stella981 Stella981
3年前
Git使用总结
生成密钥1.打开GitBash,运行  \_sshkeygen  \_2.密钥生成空间\_~/.ssh/id\_rsa  \_(C:/User/.ssh)3.输入密码(不输入增直接回车跳过)4._~/.ssh/id\_rsa.pub_ (公钥), _id\_rsa_ (私钥)下载代码到本地
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
6、SSH远程管理服务实战
1.SSH基本概述SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确保了数据传输安全。那SSH服务主要功能有哪些呢?1.提供远程连接服务器的服务、2.对传输的数据进行加密那么除了SSH协议能提供远程连接服务,Telnet也能提供远程连接服务,那么分别的区别是什么呢?ssh服务会对传输数据
Stella981 Stella981
3年前
Linux应急响应(一):SSH暴力破解
0x00前言SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包含字母等,容易被攻击者破解,一旦被攻击者获取,可用来直接登录系统,控制服务器所有权限。0x01应急场景某天,网站
Stella981 Stella981
3年前
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法
Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法参考文章:(1)Google地球出现“无法连接到登录服务器(错误代码:c00a0194)”解决方法(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.codeprj.com%2Fblo
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这