**一、安装 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开启