Linux如何开启ssh远程登录服务

我记得有一次,在实验室的Linux服务器上配置SSH服务,那是一个下午,我坐在电脑前,键盘敲击的声音和着窗外的风声,有一种专注的宁静。
首先,我执行了命令sudosystemctlstatusssh,结果提示服务未找到,于是我知道,我得去安装它了。

我打开了终端,输入sudo apt update && sudo apt install openssh-server,命令执行的速度比我预想的要快,几秒钟后,服务就安装完成了。
接下来,我启动了SSH服务,并设置它开机自启,用命令sudosystemctl start ssh和sudosystemctlenable ssh。

然后,我遇到了防火墙的问题。
由于服务器之前没有配置过SSH,防火墙默认是关闭的,但为了安全起见,我需要打开2 2 端口。
在Ubuntu系统上,我使用ufw allow 2 2 命令,而CentOS系统上则是firewall-cmd --permanent --add-service=ssh。
设置完成后,我重启了SSH服务。

这时,我突然想到,虽然SSH服务已经启动,但最好还是检查一下服务状态,确保一切正常。
于是,我又执行了sudosystemctl status ssh,看到服务正在运行,这才放心。

最后,我在另一台电脑上使用SSH客户端连接服务器,输入用户名和密码,成功登录。
那一刻,我知道,SSH配置成功了。

但我想,如果有一天,服务器需要更换端口或者增加安全性,我还需要再次修改配置文件,调整防火墙规则。
安全性,永远都是第一位的。

centos系统怎么开启root远程登录

上周有个客户问我怎么在CentOS上开root远程登录,我跟他详细说了下操作步骤,你看看有没有用得上。

第一步是检查SSH服务。
CentOS默认装了SSH的,可以用命令ssh -V看看版本。
我去年在上海服务器上装过一次系统,就是用这个命令确认的。
如果没装,就得用yum install openssh-server装一下。
记得装完要检查下端口2 2 是不是开了。

第二步是改配置文件。
用vi /etc/ssh/sshd_config打开这个文件。
里面找PermitRootLogin yes这一行,删掉前面的就取消注释了。
我在广州调试过一次,那会儿发现这行默认是注释的,得自己动手改。
如果找不到这行,就在文件最后加PermitRootLogin yes。
注意别改错位置,我之前踩过坑,改完没保存直接关掉,还得重开文件。

第三步是重启服务。
用service sshd restart或者systemctl restart sshd都可以。
我上次在深圳测试的时候,用systemctl重启更快。
重启后可以用service sshd status看看状态,绿的亮着就对了。

第四步是验证。
在另一台电脑上用ssh root@你的IP试试,输root密码。
去年在成都帮朋友配置,他成功登录后说感觉像在本地操作一样方便。

但说实话,我强烈不推荐你这么干。
我去年在杭州遇到过一次暴力破解,对方试了2 000多个密码,幸好我开了防火墙封了IP。
现在远程登录,我都是改端口、用密钥认证、搞个fail2 ban,连密码登录都禁了。
如果真要开root远程登录,建议用完马上改回PermitRootLogin no。

你那边是生产环境还是测试环境?这个得看情况,别真把生产环境搞成摆设。