本文目录:
- 1、centos7 ssh连接不上
- 2、如何检查cent os是否开启ssh
- 3、CentOS修改ssh端口号及ssh免密码登录
- 4、2020-12-08centos 出现ssH不能连接的故障排除
centos7 ssh连接不上
内网创建了一台虚拟机,网络都是通的,虚拟机的ssh服务也是启动的,但是其他机器不能通过ssh连接虚拟机。
通过web控制台进入虚拟机,查看sshd状态
发现是sshd服务缺少相应的key,需要重新生成key
通过ssh-keygen生成一对公钥/私钥对
重启sshd服务
可以通过ssh工具访问这台虚拟机了
如何检查cent os是否开启ssh
有时启动应用时会发现端口已经被占用,或者是感觉有些端口自己没有使用却发现是打开的。这时我们希望知道是哪个应用/进程在使用该端口。
CentOS下可以用netstat或者lsof查看,Windows下也可以用netstat查看,不过参数会不同
Linux:
netstat -nap #会列出所有正在使用的端口及关联的进程/应用
lsof -i :portnumber #portnumber要用具体的端口号代替,可以直接列出该端口听使用进程/应用
一、检查端口被哪个进程占用
代码如下 复制代码
netstat -lnp|grep 88 #88请换为你的apache需要的端口,如:80
SSH执行以上命令,可以查看到88端口正在被哪个进程使用。如下图,进程号为 1777 。
二、查看进程的详细信息
ps 1777
SSH执行以上命令。查看相应进程号的程序详细路径。如下图。
三、杀掉进程,重新启动apache
代码如下 复制代码
kill -9 1777 #杀掉编号为1777的进程(请根据实际情况输入)
service httpd start #启动apache
SSH执行以上命令,如果没有问题,apache将可以正常启动。
Windows系统:
netstat -nao #会列出端口关联的的进程号,可以通过任务管理器查看是哪个任务
最后一列为程序PID,再通过tasklist命令:tasklist | findstr 2724
再通过任务管理结束掉这个程序就可以了
CentOS修改ssh端口号及ssh免密码登录
一般ssh的默认端口为22
比如正常使用终端登录局域网电脑
注意是 sshd_config 文件
在#Port 22行去掉#号注释,同时加入想要使用的端口号如 Port 22438
这里保留22端口是为了防止当前无法使用ssh登录
成功返回success
重启防火墙:
成功返回success
查看添加端口是否成功,成功则显示yes,否则为no:
查看本机SELinux状态,如果是关闭则可以跳过此步骤
以下使用semanage操作,没有可以使用以下命令安装:
以下命令为查看当前SELinux允许的ssh端口:
添加22438端口到SELinux,并确认
测试新端口ssh连接
可以正常登录即成功
将之前开放的Port 22一行注释掉并保存
然后重启ssh
使用以下命令无法登录服务器
本机终端输入:
配置相关全部直接回车
在~/.ssh/目录下生成两个文件
在本机终端输入:
在本机将认证文件复制到服务器
如果服务器上没有文件夹就新建一个.ssh/文件夹
Enjoy
2020-12-08centos 出现ssH不能连接的故障排除
连接出现remote side unexpected closed network-connection错误
1查看防火墙状态
查看是否开启,并检查22端口是否允许连接
如果防火墙正常,则应该是SSHd没有启动,如果可以直接到服务器上操作,那就可以用
我里机房有点远,所以用另一种方法解决了,服务器里安装了宝塔面板,于是就找到了系统日志进行错误的查看。系统日志路径
/var/log/messages 在日志文件里就能看到ssh启动过程中的错误了
通过以上错误日志可以看到 ssh_host_ecdsa_key文件权限太高了,系统提示错误导致ssh不能正常启动,所以按照提示,将ssh目录下的文件权限改为600,重启ssh问题解决。
【centos查看ssh状态】的内容来源于互联网,如引用不当,请联系我们修改。
网友留言: