引言

很多Linux初学者可能都碰过这样的问题,那就是第一次用远程软件连接上了Linux虚拟机,但第二天竟然死活连不上了,无论怎么配置,从桥接到NAT,都连不上,cmd都ping得通,tmdCRT就连不上,关键还不只是CRT,Xshell等都连不上,你问我为什么,这里我先不解释,过一段时间我会写出来的,但今天我来手把手教你如何成功解决SSH问题,重新站起来学Linux

NAT连接

首先我们要解决联网的问题,因为解决SSH问题需要下载配置一些东西

登陆Linux,ifconfig看一下我的网络配置

centos8连接xshell centos8连接ssh_网络


嗯,一穷二白

centos8连接xshell centos8连接ssh_网络_02


这里跟我一样就行,记得电源要打开,否则“已连接”这个选线是不会打勾的

centos8连接xshell centos8连接ssh_centos_03

查看并修改网关以便接下来的设置

打开虚拟网络编辑器

centos8连接xshell centos8连接ssh_linux_04


一开始你只会看到两个配置,你需要获得管理员权限

centos8连接xshell centos8连接ssh_centos8连接xshell_05


centos8连接xshell centos8连接ssh_网络_06


centos8连接xshell centos8连接ssh_linux_07


你也可以把子网改成你心中想要的,但是修改是在遵守网络配置规则的前提下,前面两个网段不可以改,后面两个也只能在0~255之间,反正我的网关就这样进入网络共享中心

centos8连接xshell centos8连接ssh_网络_08


centos8连接xshell centos8连接ssh_ssh_09


找到属性并打开

centos8连接xshell centos8连接ssh_网络_10


centos8连接xshell centos8连接ssh_linux_11


centos8连接xshell centos8连接ssh_linux_12


这里设置也有两种方法,

一、普遍法

输入

vim /etc/sysconfig/network-scripts/ifcfg-ens33

centos8连接xshell centos8连接ssh_centos8连接xshell_13


centos8连接xshell centos8连接ssh_ssh_14


注意!这里我们重启网络服务不再像以前用的service network restart,而是

nmcli c reload

然后用ifconfig检验是否修改成功

centos8连接xshell centos8连接ssh_centos8连接xshell_15

接下来我们再ping一下

centos8连接xshell centos8连接ssh_linux_16


在windows那也可以ping通

centos8连接xshell centos8连接ssh_centos_17

二、nmtui

输入

nmtui 进入窗口选项

centos8连接xshell centos8连接ssh_centos_18


centos8连接xshell centos8连接ssh_网络_19


centos8连接xshell centos8连接ssh_网络_20


centos8连接xshell centos8连接ssh_centos_21


当然这里我还是不太建议各位用第二种方法,因为存在瑕疵,大多时候很难生效,乖乖用第一种方法就行,这里我就给大家做个拓展延伸而已

SSH配置

如果从没配置过SSH那么这里会显示灰色,无法点击操作命令

centos8连接xshell centos8连接ssh_linux_22


接下来我们执行下述指令

centos8连接xshell centos8连接ssh_ssh_23


如果前两个是command not found说明你的sudu和apt-get都没装,但没关系,可以执行第三条命令

centos8连接xshell centos8连接ssh_linux_24


然后再执行以下命令就可以了

firewall -cmd --state
systemctl stop firewalld.service
systemctl start sshd.service
systemctl enable sshd.service

centos8连接xshell centos8连接ssh_centos8连接xshell_25


然后打开你们的远程连接工具,我这里用的是SecureCRT

centos8连接xshell centos8连接ssh_centos_26


centos8连接xshell centos8连接ssh_centos_27


成功!!!

这里再列举一些仍无法连接上的问题的解决方案:

打开sshd服务的主配置文件

vim /etc/ssh/sshd_config

centos8连接xshell centos8连接ssh_ssh_28


把PermitRootLogin改为yes并且把前面的#去掉使他生效

很多人登不上是因为他们是用root登,但同时系统文件又不允许root登,这样我们就解决了这个问题

当然实际企业环境中最好少用root登录,因为这会增加服务器安全的风险性,如果你只是做实验那就不用担心,一般企业中都是把这个设为no

centos8连接xshell centos8连接ssh_网络_29


这样你的远程连接工具就可以准确无误的连上了

GCC小知识

首先要看是否安装了GCC

rpm -qa | grep gcc

centos8连接xshell centos8连接ssh_centos_30


这个结果表明你已经安装了GCC

如果是

centos8连接xshell centos8连接ssh_ssh_31


说明系统没有安装GCC软件包,CentOS8和CentOS7存在很多差异,CentOS8镜像更大,因为包含了很多安装好的工具,使用起来更方便

接下来我们

vim hello2.c

centos8连接xshell centos8连接ssh_centos8连接xshell_32



gcc hello2.c

centos8连接xshell centos8连接ssh_linux_33


centos8连接xshell centos8连接ssh_网络_34


关于GCC如何配置安装我今天会找个时间把这一块特地写个博客讲一下