logo

Linux下开启SSH服务的方法与步骤

本站 7356
在 Linux 系统中,安全外壳协议(Secure Shell),即 SSH 服务扮演着至关重要的角色。它允许用户通过加密的网络连接远程登录、管理及执行命令于另一台计算机上,在服务器管理和运维场景尤其常见。下面将详细介绍如何在 Linux 下正确配置和启动 SSH (openssh-server)。

**一、安装 OpenSSH Server**

首先确保您的系统尚未安装OpenSSH server。对于基于Debian/Ubuntu系列的操作系统:

bash

sudo apt update && sudo apt install openssh-server -y


而对于 CentOS/RHEL/Fedora 类型的 RPM 基础操作系统,则使用 yum 或 dnf 包管理系统进行安装:

bash

# For RHEL/CentOS systems using older 'yum'
sudo yum install openssh-server

# Or for newer Fedora or recent versions of RHEL and Centos with DNF
sudo dnf install openssh-server


**二、基本配置**

1. **修改默认端口:**
默认情况下,SSH 运行在22号端口。为了增强安全性,可以更改此设置到非标准端口号。编辑 `/etc/ssh/sshd_config` 文件:

bash

sudo nano /etc/ssh/sshd_config


找到 `Port 22` 行并更改为所需的其他端口号,并记得保存文件后重启 sshd 服务使改动生效。

2. **启用公钥认证:**
公钥验证是提高 SSH 安全性的有效手段之一。你可以在同一配置文件里找到关于密钥认证的相关选项如 "PubkeyAuthentication" 和 "PasswordAuthentication" 。通常建议禁用密码登陆仅保留秘钥对验证以提升安全性。

3. **生成密钥对(可选):**
在本地机器上为你的账户创建一对 RSA 密钥用于无密码访问目标主机:

bash

# Generate the key pair without passphrase if desired.
ssh-keygen -t rsa

# Then copy your public key to remote machine's authorized_keys file
ssh-copy-id user@remote_host_ip_or_hostname


4. **防火墙规则调整:** 如果您启用了防火墙(例如 iptables或firewalld),别忘了开放新设定的SSH端口以便外部能正常连入:

- 对于iptables 用户:
bash

sudo iptables -A INPUT -p tcp --dport 新设_ssh_port_number -j ACCEPT
sudo service iptables save
systemctl restart iptables.service


- 若采用 firewalld,请运行以下指令:
bash

firewall-cmd --permanent --add-port=新设_ssh_port_number/tcp
firewall-cmd --reload


**三、启动与测试 SSH 服务**

完成上述配置之后,你需要正式启动 SSHD ( Secure SHell Daemon)来提供对外的服务功能。

- 使用 systemd 的现代 Linux 发行版如 Ubuntu, Debian 及其衍生版本以及大多数新的RPM-based发行版(RHEL8及以上,CentOS Stream等):

bash

sudo systemctl start sshd
sudo systemctl enable sshd


- 老一些的 sysvinit 风格初始化系统的操作方法如下:

bash

sudo service ssh start
sudo chkconfig ssh on //针对CentOS6,RHEL6这类较早版本


最后一步就是从另外一台电脑尝试通过 SSH 登录刚刚设置了 SSH 服务的目标机,确认一切是否按预期工作:

bash

ssh username@your_server_public_address -p 新设_ssh_port_number


以上就是在 Linux 中开启和配置 SSH 服务的基本流程及其相关注意事项。请务必结合实际需求定制适合自己的策略,同时牢记保持良好的网络安全习惯,定期更新系统及相关组件以防潜在的安全风险。

标签: sshlinux开启