运维——SSH客户端登陆报错与Linux登陆报错

本文详细介绍了当在Windows10环境下使用SSHSecureShell登录阿里云服务器时遇到“Nofurtherauthenticationmethodsavailable”错误的解决方法。包括检查服务器日志、使用gitbash登录,以及修改SSH配置文件中的PasswordAuthentication参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阿里云服务器SSH运维

SSH客户端登陆报 No further authentication methods available 错误。

在新配置的Windows10下用的SSH Secure Shell进行登陆,但是报错。
首先出现这种情况的原因:
通常是由于 SSH 服务修改了 PasswordAuthentication 参数,禁用了密码验证登录所致

第一种解决方法:

(1) 首先用旧电脑登陆服务器查看日志看是否是客户端断开的连接,如果是则采用。

Jul 18 16:09:55 MY_SERVICE sshd[4366]: error: Received disconnect from X.X.X.X : 14: No further authentication methods available. [preauth]

然后在Windows10 上使用 git bash,然后一键登陆成功
(2) 最后解决方案:查阅SSH Secure Shell的官方服务器的sshd的配置;或者直接使用git bash.

第二种解决方法:

SSH登陆Linux云服务器时出现上述错误时,进行配置和修改步骤:

  1. 通过管理终端进入系统。

  2. 使用cat等指令查看**/etc/ssh/sshd_config中是否包含类似如下配置:PasswordAuthentication no.
    #####说明:该参数默认启用,默认值为
    yes**时,该参数默认启用;默认值为 no时,该参数默认禁用。

  3. 修改配置之前,先进行文件备份,以防修改期间出错,以防万一。
    使用 vim 等编辑器,将参数值设置为 yes,或者整个删除或注释(在最开头添加 # 号)整行配置

    *** vim /etc/ssh/sshd_config -------------编辑 config文件

    *** Shift + i-------------------------------------进入vim的编辑模式

    *** # passwordAuthentication no --------注释掉该参数

    *** esc ------------------------------------------退出vim的编辑模式

    *** shift + ZZ ----------------------------------保存修改并退出

  4. 使用 servive sshd restart 指令重启SSH服务,再次登陆服务器。

### Linux Telnet 显示问题及解决方案 #### 安装Telnet客户端和服务端 如果遇到`-bash: telnet: command not found`这样的报错信息,则表明当前环境中未安装Telnet客户端工具。对于基于Red Hat的企业级Linux发行版,可以通过yum包管理器来完成安装工作[^2]。 ```shell sudo yum install telnet ``` 针对Debian及其衍生版本如Ubuntu而言,应采用apt-get来进行部署: ```shell sudo apt-get update && sudo apt-get install telnet ``` 当尝试连接至本机或其他远程主机时收到类似于`telnet: connect to address 127.0.0.1: Connection refused`的信息,这通常意味着目标机器上并没有运行着监听相应端口的服务程序[^1]。 #### 启动并配置Telnet服务 为了使本地或远端能够接受来自其他计算机发起的Telnet请求,在服务器一侧还需要额外设置好相应的守护进程——即开启Telnet Server功能。具体操作如下所示: 1. **CentOS/RHEL** 使用YUM源获取官方提供的软件包,并启动相关联的服务组件[^4]: ```shell sudo yum install telnet-server xinetd ``` 修改位于`/etc/xinetd.d/telnet`文件内的参数选项,确保其处于启用状态(disable=no),保存更改之后重启XINETD服务以便应用新的设定值: ```shell systemctl restart xinetd.service ``` 2. **Debian/Ubuntu** 对于这类操作系统来说,默认情况下并不提供对Telnet协议的支持;因此建议读者考虑使用更加安全可靠的SSH替代方案。不过出于学习目的确实想要体验的话,可以执行下面这条指令实现快速搭建环境的目的: ```shell sudo apt-get install openbsd-inetd inetutils-talk ``` #### 防火墙SELinux策略调整 即使已经正确设置了上述各项条件,仍然有可能因为防火墙规则或是强制访问控制机制的存在而导致无法正常建立通信链路的情况发生。此时应当检查是否存在阻止入站流量通过特定端口号的安全措施,并作出适当修改以允许合法的数据交换过程顺利进行[^3]。 例如,在iptables中添加一条放行TCP 23号端口的新记录: ```shell sudo iptables -A INPUT -p tcp --dport 23 -j ACCEPT ``` 另外还需注意的是,某些场景下可能还会受到SELinux上下文标签的影响而造成意想不到的结果。这时可通过临时切换模式为Permissive的方式排除干扰因素所在位置: ```shell setenforce 0 ``` 当然这只是权宜之计而非长久之策,后续最好还是依据实际情况定制化一套既满足业务需求又兼顾安全性考量的最佳实践指南出来供日常运维人员参照执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值