服务器开放远程SSH登录,通常指的是允许用户通过SSH(Secure Shell)协议远程访问和控制服务器,以下是关于如何设置和使用的详细步骤:
1、安装SSH服务
Ubuntu/Debian系统:
确保系统软件包列表是最新的,运行命令sudo apt-get update
。
安装OpenSSH服务器,执行命令sudo apt-get install openssh-server
。
CentOS/RHEL系统:
使用YUM包管理器安装OpenSSH服务器,运行命令sudo yum install openssh-server
。
或者,也可以使用命令sudo yum install sshd
进行安装。
2、配置SSH服务
编辑SSH配置文件/etc/ssh/sshd_config
,可以使用Vim或任何文本编辑器打开该文件,使用Vim命令vim /etc/ssh/sshd_config
进入编辑模式。
在配置文件中,找到并修改以下两行(如果已存在则修改,不存在则添加):
PasswordAuthentication yes
:允许使用密码进行身份验证。
PermitRootLogin yes
:允许root用户通过SSH登录,注意,出于安全考虑,生产环境中通常不建议直接允许root用户登录,可以创建普通用户并授予必要的权限。
保存并退出编辑器,在Vim中,按“Esc”键退出编辑模式,然后输入“:wq”保存并退出,或直接按“:x”保存并退出(注意此处的“x”为小写)。
3、启动SSH服务
启动SSH服务,使配置生效,在Ubuntu/Debian系统中,运行命令sudo service ssh start
;在CentOS/RHEL系统中,运行命令sudo systemctl start sshd
。
检查SSH服务状态,确保服务已成功启动,在Ubuntu/Debian系统中,运行命令sudo service ssh status
;在CentOS/RHEL系统中,运行命令sudo systemctl status sshd
。
4、配置防火墙
如果服务器启用了防火墙(如iptables或firewalld),需要开放SSH服务的默认端口22,以确保外部连接能够访问。
对于iptables防火墙,运行命令sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
以开放端口22。
对于firewalld防火墙,运行命令sudo firewall-cmd --permanent --add-service=ssh
以永久开放SSH服务端口。
5、客户端连接
在Windows、Linux或macOS客户端上,打开终端或命令提示符。
使用SSH命令连接到服务器,格式为ssh [用户名]@[服务器IP地址]
,如果服务器IP地址是192.168.1.100,用户名是user,则运行命令ssh user@192.168.1.100
。
如果是第一次连接,系统会提示是否继续连接,输入“yes”并按回车键确认,然后输入用户的密码即可登录到服务器。
FAQs
问:如何更改SSH默认端口?
答:在SSH配置文件/etc/ssh/sshd_config
中找到Port
一行,将后面的数字修改为你想要的端口号(例如2222),然后保存并重启SSH服务,记得在防火墙中开放新设置的端口。
问:如何限制特定用户通过SSH登录?
答:在SSH配置文件中,找到AllowUsers
或DenyUsers
设置项,按照需要添加允许或拒绝的用户名单。AllowUsers user1 user2
将只允许user1和user2通过SSH登录。
小编有话说
服务器开放远程SSH登录虽然方便了管理和维护,但也带来了一定的安全风险,建议采取强密码策略、定期更新系统和软件、限制登录尝试次数等措施来增强安全性,非必要时尽量避免直接以root用户登录SSH,而是使用普通用户并通过sudo命令提升权限。