SSH(Secure Shell)是一种安全的网络协议,用于通过不安全的网络安全地访问远程计算机。本文将介绍如何配置 SSH 服务器以及如何使用 SSH 客户端进行连接。
1. SSH 服务器配置
1.1 安装 SSH 服务器
在大多数 Linux 发行版中,可以通过包管理器安装 OpenSSH 服务器。
对于 Ubuntu/Debian 系列:
sudo apt update
sudo apt install openssh-server
对于 CentOS/RHEL 系列:
sudo yum install openssh-server
1.2 启动 SSH 服务
安装完成后,可以使用以下命令启动 SSH 服务:
sudo systemctl start ssh
要确保 SSH 服务在系统启动时自动运行,可以使用:
sudo systemctl enable ssh
1.3 配置 SSH 服务
SSH 配置文件通常位于 /etc/ssh/sshd_config
。使用文本编辑器打开该文件:
sudo nano /etc/ssh/sshd_config
常用配置选项:
端口:默认情况下,SSH 使用端口 22。可以更改为其他端口以提高安全性。
Port 2222
禁止 root 登录:出于安全考虑,建议禁止 root 用户直接登录。
PermitRootLogin no
允许/拒绝用户:可以指定允许或拒绝的用户。
AllowUsers user1 user2
更改完配置后,保存并关闭文件。然后重启 SSH 服务以使更改生效:
sudo systemctl restart ssh
2. SSH 客户端使用
2.1 连接到 SSH 服务器
使用 SSH 客户端连接到 SSH 服务器的基本命令格式如下:
ssh username@hostname_or_ip
例如,连接到 IP 地址为 192.168.1.100
的服务器,用户名为 user
:
ssh user@192.168.1.100
2.2 使用自定义端口
如果 SSH 服务器使用了非默认端口,可以使用 -p
选项指定端口:
ssh -p 2222 user@192.168.1.100
2.3 密钥认证
为了提高安全性,可以使用 SSH 密钥对进行认证。
生成密钥对
使用以下命令生成 SSH 密钥对:
ssh-keygen -t rsa -b 4096
按照提示操作,密钥将保存在 ~/.ssh/
目录下。
将公钥复制到服务器
使用 ssh-copy-id
将公钥复制到服务器:
ssh-copy-id user@192.168.1.100
输入密码后,公钥将被添加到服务器的 ~/.ssh/authorized_keys
文件中。
2.4 使用密钥连接
完成上述步骤后,您可以使用密钥连接到服务器,而无需输入密码:
ssh user@192.168.1.100
3. 安全性考虑
- 更改默认端口:如前所述,更改 SSH 默认端口可减少被扫描的风险。
- 使用强密码:确保使用强密码或密钥认证。
- 限制登录用户:配置
sshd_config
文件以限制可登录的用户。 - 防火墙设置:确保防火墙允许 SSH 端口的访问。