在Linux中使用SSH远程连接其他计算机或服务器是方便快捷的。但是,在SSH连接时,有时会出现拒绝连接的错误。这个问题可能会发生在任何人身上,无论是新手还是有经验的Linux用户。本文将为您介绍如何诊断和解决Linux拒绝SSH连接失败问题,并且让您成为一个高效的终端操作者。
1.检查网络设置
SSH连接问题可能源于网络问题。检查您的网络设置可以帮助您找出问题所在。您需要确保您的Linux计算机和目标计算机在同一本地网络上。使用ping命令来测试设备之间的网络连接。这个命令会测试网络上两个设备之间的连接。
例如,使用下面的命令测试目标设备是否与本地计算机相连通。
“`
ping
“`
如果它返回的输出类似于“往返行程的时间”的信息,那么证明您的目标设备与本地计算机相连,并且网络设置正常。
2.检查SSH配置文件
如果您的网络设置没有问题,则应检查SSH配置文件,以确保SSH服务在目标计算机上启用。默认情况下,SSH服务应该在目标计算机上启用。
您可以使用以下命令确保SSH在目标计算机上运行:
“`
sudo service ssh status
“`
如果状态为不活动,则使用以下命令启动SSH服务:
“`
sudo service ssh start
“`
它将尝试启动SSH服务,如果您已启动,则不需要执行此操作。
如果您不确定SSH服务是否在目标计算机上运行,则可以编辑配置文件/etc/ssh/sshd_config以启用它。
3.检查SSH端口
默认情况下,SSH服务在端口上使用22。但是,您可能在目标计算机上更改此端口,而忘记告诉客户端计算机连接到更改后的端口。在这种情况下,您需要在连接字符串中指定新端口。
例如,我们将目标计算机的SSH端口更改为2023。连接字符串将如下所示:
“`
ssh -p 2023 @
“`
在这个命令中,-p标志表示更改SSH端口,后面跟随要连接的新端口号。
4.检查SELinux配置
SELinux(安全增强Linux)是一种强制访问控制(MAC)系统。它通过强制所有进程和用户进行安全访问来保护计算机。在某些情况下,它可能会阻止SSH连接。因此,您应该检查SELinux是否阻止了SSH。
您可以使用以下命令查看SELinux配置文件:
“`
sudo cat /etc/selinux/config
“`
如果SELINUX的值是enforcing,则SELinux正在阻止SSH,您需要编辑配置文件以禁用SELinux。
编辑配置文件/etc/selinux/config中的SELINUX行,如下所示:
“`
SELINUX=permissive
“`
这会将SELinux配置为permissive模式,允许SSH连接。如果您禁用SELinux,请记得重新启动计算机以使更改生效。
5.使用正确的身份验证
在连接到目标计算机时,请确保输入了正确的凭据。如果您使用的是密码身份验证,请确保输入了正确的登录名和密码。如果您使用的是SSH密钥身份验证,请确保您的公钥是否已添加到目标计算机的授权密钥列表中。
在Linux中,您可以使用SSH命令生成公钥:
“`
ssh-keygen
“`
您可以在/home//.ssh中找到ID_RSA和ID_RSA.PUB文件。您需要将公钥文件复制到目标计算机上的授权密钥列表中。
6.使用-v调试标志
如果您还无法找到SSH连接问题所在,您可以启用调试标志以查看SSH客户端和服务器之间的运行状况。使用-v标志可以使SSH打印详细信息,帮助您找到问题。
例如,在Linux中,如果您想使用-v标志,以便更好地了解SSH连接状况,您可以执行以下命令:
“`
ssh -v @
“`
在这个命令中,-v标志打开了详细日志跟踪功能。您可以看到客户端和服务器之间传输的所有信息。这可以帮助您找出SSH连接失败的原因。
相关问题拓展阅读:
- linux服务器直接ssh连接不上但是免密能登
- SSH服务器拒绝了密码,xshell连不上linux怎么办
linux服务器直接ssh连接不上但是免密能登
服务器正常,PING也能PING通。但是就是SSH连不上啊,出现这种问题,更大的可能就是防火墙没有关闭。解决方法:
1、喊辩好开启SSH以root用户登录Linux,打开终端,运行:/etc/init.d/sshdrestrat。
2、关闭郑铅防火墙。
3、在终端运行setup。
4、选择firewall回灶高车.
5、按tab键切换到disablede项,然后按空格键选择,然后再按tab键切换到ok,按空格件选择。
6、按tab键切换。
SSH服务器拒绝了密码,xshell连不上linux怎么办
用Xshell root连接时显示ssh服务器困察扰拒绝了密码,应该是应该是sshd的设置不允许root用户用密码远程登录
修改 /etc/ssh/sshd_config文件,注意,安装了openssh才会有这个文件,如果文件不存在请检查是汪旦否安装了openssh。
vim /etc/ssh/sshd_config
找到
# Authentication:
LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes
改成
# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
然后输入命令
/etc/init.d/ssh restart
重没斗启ssh服务即可。
Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。
小编使用kali虚拟机感觉来回切换虚拟机窗口很不方便,也消耗系统资源。使用xshell连接kali,侍晌kali开机后使用service ssh start 将linux的ssh服务开启。打开xhell使用老绝锋ssh ,依次按照提示输入正确的密码,却发现发图:
提示说 SSH服务器拒绝了密码,请再试一次,然后我再试一次呗,结果还是这样
解决方案:
在kali里面修改sshd_config文件,注意ssh_config是针对客户端的配置宏山文件,而sshd_config是针对服务器端的配置文件。千万不要弄错了。
cd /etc/ssh
vi sshd_config
将 # Authentication:
LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes
改为:
# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
然后输入命令 service ssh restart 重启ssh服务。这次“再试一次”,
关于linux拒绝ssh连接失败的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。