SSH 服务指南
2025年4月3日大约 2 分钟
SSH 服务指南
SSH(Secure Shell)是一种用于远程登录和其他网络服务的安全协议。它通过加密的方式提供安全的通信渠道。
注
SSH 已成为 Linux/Unix 系统管理的标准工具,替代了不安全的 Telnet、rlogin 等协议。它不仅可用于远程登录,还可用于文件传输、端口转发等功能。
安装 SSH
在大多数 Linux 发行版中,您可以使用包管理器来安装 SSH 服务。
在 Debian/Ubuntu 上安装
sudo apt update
sudo apt install openssh-server在 CentOS/RHEL 上安装
sudo yum install openssh-server配置 SSH
SSH 的配置文件位于 /etc/ssh/sshd_config。在该文件中,您可以设置各种 SSH 服务的选项。
示例配置文件
以下是一个简单的 SSH 配置文件示例:
# 端口号
Port 22
# 监听地址
ListenAddress 0.0.0.0
ListenAddress ::
# 允许的用户
AllowUsers user1 user2
# 禁用密码认证,只允许密钥认证
PasswordAuthentication no
PubkeyAuthentication yes
# 启用 X11 转发
X11Forwarding yes
# 日志级别
LogLevel INFO解释
Port:指定 SSH 服务监听的端口号。ListenAddress:设置 SSH 服务监听的地址。AllowUsers:指定允许登录的用户列表。PasswordAuthentication:是否允许密码认证。PubkeyAuthentication:是否允许公钥认证。X11Forwarding:是否启用 X11 转发。LogLevel:设置日志级别。
启动和管理 SSH 服务
启动 SSH 服务:
sudo systemctl start ssh设置开机自启动:
sudo systemctl enable ssh检查 SSH 服务状态:
sudo systemctl status ssh使用 SSH
连接到远程服务器
使用 SSH 连接到远程服务器:
ssh username@hostname使用 SSH 密钥认证
生成 SSH 密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"将公钥复制到远程服务器:
ssh-copy-id username@hostname转发端口
将本地端口转发到远程端口:
ssh -L local_port:localhost:remote_port username@hostnameX11 转发
启用 X11 转发,以便在远程服务器上运行图形应用程序:
ssh -X username@hostname常见参数
-p:指定连接端口。-i:指定私钥文件。-L:本地端口转发。-R:远程端口转发。-X:启用 X11 转发。
示例案例
示例 1:使用默认端口连接到远程服务器
ssh user@192.168.1.100示例 2:使用指定端口连接到远程服务器
ssh -p 2222 user@192.168.1.100示例 3:使用密钥文件连接到远程服务器
ssh -i ~/.ssh/id_rsa user@192.168.1.100示例 4:将本地端口 8080 转发到远程服务器的 80 端口
ssh -L 8080:localhost:80 user@192.168.1.100示例 5:启用 X11 转发
ssh -X user@192.168.1.100