centos系统无法远程连接怎么办

说实话,处理CentOS远程连接问题,我踩过的坑比翻过的系统手册还多。
下面这些招数,都是真刀真枪干出来的,可能有点偏激,但绝对管用。

先说防火墙。
我记得有一回帮客户解决远程登陆,对方那台CentOS直接把iptables设成拒绝所有入站,连ssh都打不开。
直接用service iptables stop临时关了,客户说"哎哟这就好了"。
但说实话,这种操作就像拆炸弹,你永远不知道下一秒会不会炸。
我一般会先查状态(service iptables status),看规则堆得像山一样就懂了。
如果真要关,chkconfig iptables off得慎重,特别是一些公司搞虚拟化环境,一关防火墙可能整个网络乱套。

SSH这块最头疼。
我遇到过系统更新后ssh服务莫名挂了的情况。
这时候chkconfig sshd on跟service sshd start就得连着用。
有意思的是,有时候netstat -tulnp | grep 2 2 显示端口没监听,但systemctl status sshd却没问题。
这种时候就得翻/etc/ssh/sshd_config,特别是PasswordAuthentication这一行,改了就得重启。
我记得有一台阿里云服务器,客户自己改了端口到2 2 2 2 ,结果忘了改客户端配置,折腾半天以为是中国电信搞的鬼。

SELinux更神出鬼没。
有个客户用虚拟机做开发环境,SELinux一开就连不上ssh。
直接setenforce 0临时关,客户说"这玩意儿真他娘的烦"。
后来我建议他改/etc/selinux/config里的SELINUX=enforcing为SELINUX=disabled,重启系统才彻底解决。
但说实话,这种操作风险大,特别是生产环境,我一般会建议先查日志/var/log/secure,那里面往往藏着"SELinux denied access"这类提示。

最后说个冷门坑。
有一台CentOS 6 的老机器,防火墙和ssh都没问题,结果ping不通。
查了半天发现是路由器端口转发没开,那家伙把ssh流量直接丢到公网去了。
所以网络连通性测试时,记得用traceroute或mtr这些工具,能帮你发现路由器这一环的问题。
我当时处理这个的时候,客户老板直说"这比猜密码还折磨人"。

处理这类问题,关键在于排除法。
先看最明显的防火墙,然后是ssh本身,再逐步往深了查。
每次改完配置都得用不同的工具验证,比如用ssh -v连,看输出能不能找到错误。
这种时候系统日志就是你的眼睛,直接翻/var/log/messages和secure,里面往往藏着系统自己说的"秘密"。

配置CentOS 7通过MSTSC连接远程桌面

CentOS7 上搞远程桌面,用MSTSC工具行不?公有云那头,CentOS7 系统都是最小化装,那能不能装个xrdp搞远程桌面呢?
先装几个东西,lightdm、xorgxrdp、xrdp。
要是epel仓库里没这些,得先加yum源。
装完之后,得看看xRDP服务是不是启动了。
没启动的话,开起来,设成自动启动。

连接的时候,发现一登录就闪退。
估计是xorgxrdp的问题,它默认用Xvnc当XWindowSystem,可能搞不好图形显示。
得改改xRDP的配置文件 /etc/xrdp/xrdp.ini,把线程设成Xorg,别用Xvnc了。
重启xRDP服务,再连,界面让选Xorg了。
可还是闪退。
看日志,说连接状态是“OK”,最后决定还是用Xvnc当默认XWindowSystem。

装了XWindowSystem和GNOME桌面环境,就能用Xorg了。
登录到系统桌面,试试远程桌面。
连的时候,发现是通过IPv6 连的。
远程连接测试,复制文件能行,比Ubuntu强。
不过复制命令只能传文件,粘贴板内容搞不了。

下次登录方便点,MSTSC自带保存凭据功能。
连的时候,点“显示选项”,填用户名,勾“允许我保存凭证”,完事。
凭据页面填账号密码,点“确定”。
以后就用MSTSC直接登录,远程桌面访问搞定。

就这样,调调配置,选选工具,CentOS7 上远程桌面就能用,满足需求。

修改centos默认远程连接端口是多少

CentOS 7 / 8 直接改httpd.conf。
Listen 5 5 5 5 NameVirtualHost :5 5 5 5 保存。
systemctl restart httpd。
firewall-cmd --zone=public --add-port=5 5 5 5 /tcp --permanent。
firewall-cmd --reload。
搞定。