当前位置:首页 > Linux > 正文

如何开启linux的ssh

Linux中开启SSH,先检查是否安装,若未安装则用包管理器安装(如Debian/Ubuntu用 sudo apt-get install openssh-server,CentOS等用 sudo yum install openssh-server),再启动服务( sudo systemctl start sshsudo 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 sshsudo service ssh start
Red Hat或CentOS、Fedora sudo systemctl start sshdsudo service sshd start

设置SSH服务开机自启动

为了确保系统重启后SSH服务能够自动启动,需要将其设置为开机自启动:

Linux发行版 设置命令
Debian或Ubuntu sudo systemctl enable sshsudo update-rc.d ssh enable
Red Hat或CentOS、Fedora sudo systemctl enable sshdsudo chkconfig ssh on

配置SSH服务器(可选)

SSH服务器的配置文件通常位于/etc/ssh/sshd_config,可以使用文本编辑器(如vinano等)以root权限打开该文件进行配置,以下是一些常见的配置项:

配置项 说明 示例
Port 指定SSH服务监听的端口,默认为22,为了安全起见,可以修改为其他端口。 Port 2222
PermitRootLogin 设置是否允许root用户通过SSH登录,为了安全,建议设置为no PermitRootLogin no
PasswordAuthentication 设置是否允许使用密码进行身份验证,为了安全,建议启用密钥认证并禁用密码认证。 PasswordAuthentication no

修改完配置文件后,保存并退出,然后重新启动SSH服务以使配置生效:

Linux发行版 重启命令
Debian或Ubuntu sudo systemctl restart sshsudo service ssh restart
Red Hat或CentOS、Fedora sudo systemctl restart sshdsudo service sshd restart

防火墙配置

如果Linux系统上启用了防火墙(如iptablesufw等),需要允许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 sshsudo service ssh status
Red Hat或CentOS、Fedora sudo systemctl status sshdsudo 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登录到系统,提高了系统

0