以centos 7系统为例
1、首先检查是否安装了ssh服务
我们输入ssh -v来查看版本号
ssh -v
如果有安装系统就会显示ssh服务的版本号
如果没有显示,我们再查看一下ssh进程有没有开户
我们输入ps -e | grep ssh
ps -e | grep ssh
正常会显示进程
如果二者都没有我们就要安装ssh服务
如果只出现了一个 ssh,说明没有安装 sshd, 使用命令安装 sshd 服务
解决方法:安装ssh服务
输入命令:等待安装--记得连网
yum install openssh-server
2、检查ssh是否开启
检查ssh是否开启有二个方法第一个是上面提到的查看ssh进程
ps -e | grep ssh
正常会显示进程sshd 和ssh-agent进程
第二个方法查看ssh运行状态
输入:
systemctl status sshd
正常会显示active (running)和日志信息
如果没有那么就是ssh服务没有开启
解决方法:开启ssh服务
systemctl start sshd
或者
systemctl restart sshd
一个是启动一个是重启
3、IP不通
如果你是虚拟机用户请检查电脑
VMware Network Adapter VMnet1
网络是否开启,就是你的虚拟网卡是否开启
解决方法:开启虚拟机网卡
再检查你VMware 网络配置是否是NAT模式或桥接模式。
再检查虚拟网络是否配置正确
如果你是服务器真机
首先检查服务器与本机是否ping的通
查看服务器IP地址ifconfig
解决方法:
如果不通请更改IP地址与服务器IP配置
可以参考往期文章
||||
Linux系统:第13课ip地址的应用与修改
4、查看配置文件并重新配置
我们输入
vim /etc/ssh/sshd_config
查看ssh服务的配置文件
解决方法:
常用的ssh配置内容
Port=22
# 设置SSH的端口号是22(默认端口号为22)
Protocol2
# 启用SSH版本2协议
ListenAddress0.0.0.0
#设置服务监听的地址
#DenyUsers user1 user2 foo # 拒绝访问的用户(用空格隔开)
#AllowUsers root admin osmond vivek # 允许访问的用户(用空格隔开)
PermitRootLoginyes
# 禁止root用户登陆
PermitEmptyPasswordsno
# 用户登陆需要密码认证
PasswordAuthenticationyes
# 启用口令认证方式
复制之后输入:wq保存退出就可以了。
如果你不会vim操作请参考往期文章
||
Linux系统:第9课vi\vim编辑器介绍
保存后我们再重启一下ssh服务
systemctl restart sshd
5、端口不通
通过刚刚的配置文件我们可以看到ssh连接端口为22。我们查看一下22端口的状态
netstat -anp | grep 22
正常会显示出22端口目前的状态
如果没有,我们查看一下防火墙的状态
查看一下是否开启22端口
firewall-cmd --query-port=22/tcp
正常会显示
FirewallD is not running
如果不是
解决方法:
开放22端口
firewall-cmd --permanent --add-port=22/tcp
然后退出重启防火墙
firewall-cmd --reload
详细的防火墙操作请参考往期内容
你一定用的上的Linux查看、开启、关闭防火墙操作
6、IP通端口也通就是连接不上SSH怎么办?
如果你的ssh配置和我上面说的一样配置,然后还是连接不上。那么你试试关闭防火墙。再连接一下试试
如果还是不行
centos 7还有一个隐藏的防火墙
把这个防火墙关了
我们输入
getenforce
查看防火墙状态是否是Disabled
如果不是,我们进入他的配置文件修改一下配置
vim /etc/selinux/config
我们把SELINUX这一行修改成SELINUX=disabled
然后保存重启服务器就可以了reboot
标题:Linux系统ssh连接不上的排错方法(教程)
链接:https://www.ltthb.com/news/rj/121118.html
版权:文章转载自网络,如有侵权,请联系删除!