1. 安装OpenSSH-Server
1 2 3 4 5
| # 更新软件包列表 sudo apt update # 安装openssh-server sudo apt install openssh-server
|
2. 启动与启用服务
1 2 3 4 5 6 7
| # 启动SSH服务(默认安装后会自动启动) sudo systemctl start ssh # 设置开机自启 sudo systemctl enable ssh # 检查服务状态(确认是否运行) sudo systemctl status ssh
|
✅ 看到 Active: active (running)
表示成功。
3. 配置防火墙(如启用)
如果系统启用了 ufw
防火墙:
1 2 3 4 5 6 7 8 9
| # 允许SSH的22端口 sudo ufw allow ssh # 或直接指定端口: sudo ufw allow 22/tcp # 启用防火墙(若未启用) sudo ufw enable # 查看规则 sudo ufw status
|
4. SSH基本命令使用
从其他机器连接服务器
- 示例:
ssh user@192.168.1.100
- 首次连接会提示确认主机密钥,输入
yes
接受。
指定端口连接(默认22)
1 2
| ssh -p 2222 user@server_ip # 如果服务器SSH端口改为2222
|
使用密钥登录(免密码)
1 2 3 4 5
| # 本地生成密钥(如果尚未生成) ssh-keygen -t rsa -b 4096 # 将公钥复制到服务器 ssh-copy-id user@server_ip
|
之后登录无需输入密码。
5. 修改SSH配置(可选)
1 2 3
| # 编辑配置文件 sudo nano /etc/ssh/sshd_config
|
常用配置项:
1 2 3 4 5
| Port 2222 # 更改默认端口(避开扫描) PermitRootLogin no # 禁止root登录 PasswordAuthentication no # 禁用密码登录(仅用密钥) AllowUsers user1 user2 # 只允许指定用户登录
|
保存后重启服务:
1 2
| sudo systemctl restart ssh
|
6. 解决常见问题
连接被拒绝?
- 检查SSH服务状态:
sudo systemctl status ssh
- 检查防火墙规则:
sudo ufw status
修改端口后无法连接?
- 确认新端口已开放:
sudo ufw allow 2222
- 重启SSH服务:
sudo systemctl restart ssh
忘记允许的用户?
检查配置文件中 AllowUsers
或用户是否在 sshusers
组(需配置)。
关键目录与文件
路径 | 说明 |
---|
/etc/ssh/sshd_config | SSH服务配置文件 |
\x7e/.ssh/authorized_keys | 用户免密登录的公钥 |
/var/log/auth.log | 登录日志(查看登录错误) |
卸载OpenSSH-Server
1 2 3
| sudo apt remove openssh-server sudo apt purge openssh-server # 删除配置文件
|
7. 完成后的注意事项
设置完成后,确保定期维护以保障安全。建议每月检查 /var/log/auth.log
监控登录尝试,并运行 sudo apt upgrade
更新软件包。启用密钥登录和限制端口能显著降低攻击风险,而卸载仅在不需远程访问时执行——清除配置后,任何依赖SSH的服务将中断。