解决Ubuntu SSH登陆出现Access Denied错误

1、在/etc/ssh/sshd_config 中有个 PermitRootLogin, 该行修改之前为

#PermitRootLogin prohibit-password

使用vi指令对 sshd_config文件进行修改

方法一、将该行改为PermitRootLogin yes,注意去掉前面的#

方法二、直接在改行最后回车,添加一行PermitRootLogin yes

建议方法二

2、重启ssh: 
/etc/init.d/ssh restart

3、重新使用ssh远程连接就好了

禁止远程连接将yes改为no即可然后重启ssh

### MobaXterm “Access Denied解决方案 当使用 MobaXterm 连接到虚拟机时遇到“Access Denied”的错误,可能由多种原因引起。以下是详细的分析和解决方法: #### 1. 防火墙配置问题 如果 VMware 虚拟机中的防火墙未正确配置,则可能导致无法建立 SSH 连接并返回“Access Denied错误。 - **解决方法**: 关闭防火墙服务以验证其影响。对于 CentOS 或其他基于 Red Hat 的系统,可以运行以下命令来停止防火墙服务: ```bash sudo systemctl stop firewalld.service ``` 如果关闭防火墙后仍然存在访问拒绝的问题,则需进一步排查其他潜在因素[^2]。 #### 2. 用户权限不足 SSH 访问被拒绝通常是因为目标用户的权限不足以登录到服务器上。 - **解决方法**: 确认所使用的用户名具有足够的权限执行远程操作。如果是尝试以 root 用户身份登录,请检查 `/etc/ssh/sshd_config` 文件中 `PermitRootLogin` 参数的设置。默认情况下,该参数可能会禁用密码认证方式下的 Root 登录功能。修改此文件并将对应行更改为允许状态即可解决问题: ```bash PermitRootLogin yes ``` 修改完成后记得重启 SSH 服务使更改生效: ```bash sudo service ssh restart ``` #### 3. 密码或密钥不匹配 即使用户账户有效,“Access Denied”也可能源于输入了错误的密码或者公私钥对未能成功验证。 - **解决方法**: 尝试重新设定相关用户的密码,并再次测试连接过程;另外也可以启用调试模式查看具体的失败细节以便定位具体位置。例如,在客户端启动带 `-v` 参数的 ssh 客户端工具可以帮助获取更多诊断信息。 #### 4. 日志审查 为了更好地理解为什么会出现“access denied”,应该查阅系统的安全日志记录寻找线索。 - **解决方法**: 对于 Ubuntu 系统而言,可以通过下面这个指令去查找关于 sshd 的所有活动条目从而找到最近一次失败尝试的相关描述: ```bash grep sshd /var/log/auth.log ``` 上述输出将提供有关为何发生特定实例下拒绝访问行为的具体解释[^3]。 综上所述,针对不同场景采取相应措施能够有效地克服MobaXterm显示‘Access Denied’的情况。 ```python # 示例 Python 脚本用于自动化部分上述流程(仅作演示用途) import os def disable_firewall(): """Disable firewall on a Linux system.""" command = 'sudo systemctl stop firewalld.service' result = os.system(command) return True if not result else False if __name__ == "__main__": success = disable_firewall() print('Firewall disabled successfully.' if success else 'Failed to disable Firewall.') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值