如何开启linux的ssh
- Linux
- 2025-07-11
- 1
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登录到系统,提高了系统