如何开启linux的ssh
- Linux
- 2025-07-11
- 2982
sudo apt-get install openssh-server,CentOS等用
 sudo yum install openssh-server),再启动服务(
 sudo systemctl start ssh或
 sudo service ssh start),最后设置开机自启(
 sudo systemctl enable ssh或`sudo chkconfig
Linux系统中,SSH(Secure Shell)是一种常用的远程登录和管理工具,以下是开启Linux SSH服务的详细步骤:
检查SSH是否已安装
不同的Linux发行版检查SSH是否已安装的命令有所不同,以下是常见的几种方式:
| Linux发行版 | 检查命令 | 
|---|---|
| Debian或Ubuntu | dpkg -l | grep openssh-server | 
| Red Hat或CentOS、Fedora | rpm -qa | grep openssh-server | 
如果输出中包含openssh-server,则表示SSH服务器已安装;如果没有安装,则需要进行安装。
安装SSH服务器
根据不同的Linux发行版,使用相应的包管理工具来安装SSH服务器:
| Linux发行版 | 安装命令 | 
|---|---|
| Debian或Ubuntu | sudo apt-get install openssh-server | 
| Red Hat或CentOS、Fedora | sudo yum install openssh-server | 
| Arch Linux | sudo pacman -S openssh | 
启动SSH服务
安装完成后,需要启动SSH服务,同样,不同的Linux发行版启动服务的命令也有所不同:

| Linux发行版 | 启动命令 | 
|---|---|
| Debian或Ubuntu | sudo systemctl start ssh或sudo service ssh start | 
| Red Hat或CentOS、Fedora | sudo systemctl start sshd或sudo service sshd start | 
设置SSH服务开机自启动
为了确保系统重启后SSH服务能够自动启动,需要将其设置为开机自启动:
| Linux发行版 | 设置命令 | 
|---|---|
| Debian或Ubuntu | sudo systemctl enable ssh或sudo update-rc.d ssh enable | 
| Red Hat或CentOS、Fedora | sudo systemctl enable sshd或sudo chkconfig ssh on | 
配置SSH服务器(可选)
SSH服务器的配置文件通常位于/etc/ssh/sshd_config,可以使用文本编辑器(如vi、nano等)以root权限打开该文件进行配置,以下是一些常见的配置项:
| 配置项 | 说明 | 示例 | 
|---|---|---|
| Port | 指定SSH服务监听的端口,默认为22,为了安全起见,可以修改为其他端口。 | Port 2222 | 
| PermitRootLogin | 设置是否允许root用户通过SSH登录,为了安全,建议设置为 no。 | PermitRootLogin no | 
| PasswordAuthentication | 设置是否允许使用密码进行身份验证,为了安全,建议启用密钥认证并禁用密码认证。 | PasswordAuthentication no | 
修改完配置文件后,保存并退出,然后重新启动SSH服务以使配置生效:
| Linux发行版 | 重启命令 | 
|---|---|
| Debian或Ubuntu | sudo systemctl restart ssh或sudo service ssh restart | 
| Red Hat或CentOS、Fedora | sudo systemctl restart sshd或sudo service sshd restart | 
防火墙配置
如果Linux系统上启用了防火墙(如iptables、ufw等),需要允许SSH连接通过防火墙,以下是一些常见的防火墙配置命令:

| 防火墙类型 | 配置命令 | 
|---|---|
| iptables | sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT(如果修改了SSH端口,将22替换为相应端口) | 
| ufw | sudo ufw allow ssh(如果修改了SSH端口,使用sudo ufw allow [端口号]/tcp) | 
验证SSH服务是否开启成功
可以使用以下命令验证SSH服务是否已经成功开启:
| Linux发行版 | 验证命令 | 
|---|---|
| Debian或Ubuntu | sudo systemctl status ssh或sudo service ssh status | 
| Red Hat或CentOS、Fedora | sudo systemctl status sshd或sudo service sshd status | 
如果服务正常运行,命令的输出应该显示SSH服务处于运行状态。
FAQs
如何更改SSH的默认端口?
答:要更改SSH的默认端口,需要编辑SSH服务器的配置文件/etc/ssh/sshd_config,找到Port这一行,将其后面的默认端口号(通常是22)修改为你想要的端口号,修改完成后,保存并退出配置文件,然后重新启动SSH服务以使更改生效,还需要在防火墙中开放新的SSH端口。

如何禁用root用户通过SSH登录?
答:要禁用root用户通过SSH登录,需要编辑SSH服务器的配置文件/etc/ssh/sshd_config,找到PermitRootLogin这一行,将其后面的值改为no,修改完成后,保存并退出配置文件,然后重新启动SSH服务以使更改生效,这样,root用户将无法通过SSH登录到系统,提高了系统
 
  
			 
			