Ubuntu无法SSH登陆的解决方案

1. 连接时出现提示 ssh_exchange_identification

问题提示:

ssh_exchange_identification: read: Connection reset by peer

解决方法:

(1)

vim /etc/hosts.allow

加入

sshd: ALL

(2) 然后

systemctl restart sshd

2. 被系统自动加入黑名单导致的无法登陆

Ubuntu18.04中清除DenyHosts中的黑名单IP

(1)

cat /dev/null > /etc/hosts.deny

(2)

vim /etc/hosts.allow

加入你的 IP地址

all:121.36.163.25

(3) 重启 NetworkManager 网络管理工具

sudo systemctl start NetworkManger

或者

sudo service network-manager start

3. 连接超时 (ssh连接超时, 能ping通的情况下)

解决方案:

Ubuntu18.04 完全重装ssh服务

解决方法:

(1) 重装ssh

sudo apt-get remove openssh-server openssh-client --purge -y
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get update
sudo apt-get install openssh-server openssh-client

(2) 关闭防火墙

ufw disable

说明:

--SSH连接不上的原因有很多,例如:

被防火墙挡掉、SSH服务配置文件中的参数是否拒绝了连接等等.

--SSH连接不上的另外一种可能:

清除/root/.ssh/known_hosts文件中和你所要连接的IP或者主机名有关的ssh加密Key

rm ~/.ssh/known_hosts

4. 故障现象:

重启机器,输入正确的用户名和密码后,登陆进入系统的界面一闪,然后跳回登陆界面

故障说明:

在用户名和密码都输入成功的情况下,重复出现登录界面,无法进入主界面(系统设置为字符界面情况下)

原因分析:

误删了系统文件或者系统文件配置错误所导致, 需要具体问题具体分析, 需要回想重启前的操作

解决方案 (我的误操作为误删了 limits.conf 文件):

(1) limits.conf 被删除, 或者 limits.conf 设置错误导致Linux系统无法ssh登陆

(2) 开机进入单用户模式, 输入root账户密码, 登陆系统

cat /etc/security/limits.conf
vim /etc/security/limits.conf

加入

* soft nofile 65535
* hard nofile 65535

(3) 说明:

参数值不宜过大,总结如下:

nofile是有一个上限的,不能超过(/proc/sys/fs/nr_open,默认1048576)的值.

如果超过,很可能重启之后无法ssh远程连接

5. Ubuntu系统进入单用户模式的方法

若系统无法进入(例如4中所述), 可考虑在单用户模式下修复

(1) 启动系统时长按shift键 (ESC,DEL,F#都可能), 进入grub菜单

(2) 选择recovery模式

(3) 有些系统选择recovery后, 再菜单选择ROOT, 然后输入root账户的密码即可进入系统

(4) 有些系统需要修改里面的linux行, 修改为:

...... rw single init=/bin/bash

ctrl+x退出, 进入单用户模式

原文链接:https://mp.weixin.qq.com/s/vItwmQYiB2KIg5Jjih2WHw

posted @   peakgrin  阅读(1490)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示