1. SSH 服务管理
# 检查SSH服务状态
sudo systemctl status sshd
# 启动SSH服务
sudo systemctl start sshd
# 停止SSH服务
sudo systemctl stop sshd
# 重启SSH服务
sudo systemctl restart sshd
# 设置开机自启
sudo systemctl enable sshd
2. SSH 配置文件
主配置文件路径:/etc/ssh/sshd_config
常用配置项:
Port 2222 # 修改默认端口
PermitRootLogin no # 禁止root登录
PasswordAuthentication no # 禁用密码认证
AllowUsers your_username # 只允许特定用户登录
X11Forwarding no # 禁用X11转发
3. SSH 连接操作
# 基本连接
ssh username@hostname
# 指定端口连接
ssh -p 2222 username@hostname
# 使用密钥连接
ssh -i ~/.ssh/private_key username@hostname
# 远程执行命令
ssh username@hostname "ls -l"
4. 密钥认证设置
# 生成密钥对(Ed25519算法)
ssh-keygen -t ed25519 -C "your_email@example.com"
# 将公钥上传到服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub username@hostname
# 检查密钥指纹
ssh-keygen -lf ~/.ssh/id_ed25519.pub
5. 文件传输
# 从本地复制到远程
scp -P 2222 file.txt username@hostname:/path/to/destination
# 从远程复制到本地
scp -P 2222 username@hostname:/path/to/file.txt .
# 递归复制目录
scp -r dir username@hostname:/path/to/destination
# 使用rsync(更高效)
rsync -avz -e "ssh -p 2222" /local/path username@hostname:/remote/path
6. 端口转发
# 本地端口转发(访问远程服务)
ssh -L 8080:localhost:80 username@hostname
# 远程端口转发(暴露本地服务)
ssh -R 9090:localhost:80 username@hostname
# 动态SOCKS代理
ssh -D 1080 username@hostname
7. 安全增强措施
# 安装fail2ban防止暴力破解
sudo apt install fail2ban # Debian/Ubuntu
sudo yum install fail2ban # CentOS/RHEL
# 查看登录日志
sudo grep "Failed password" /var/log/auth.log
# 检查最近登录记录
lastlog
# 查看当前SSH连接
who -a
8. 故障排查
# 详细输出模式
ssh -vvv username@hostname
# 测试配置文件语法
sudo sshd -t
# 检查端口监听
sudo netstat -tulnp | grep ssh
# 或
sudo ss -tulnp | grep ssh
# 检查防火墙规则
sudo ufw status # Ubuntu
sudo firewall-cmd --list-all # CentOS/RHEL
9. 高级功能
# 保持连接持久化(客户端配置)
vim ~/.ssh/config
添加:
Host *
ServerAliveInterval 60
TCPKeepAlive yes
# 多路复用(加速重复连接)
Host *
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r
ControlPersist 1h
# 跳板机连接
ssh -J jumpuser@jumpserver:22 targetuser@targetserver
10. 安全建议
- 始终使用密钥认证而非密码
- 禁用root直接登录
- 修改默认SSH端口
- 定期更新SSH软件包
- 限制允许登录的用户/IP
- 监控登录尝试日志
- 使用fail2ban等工具防止暴力破解
这些命令涵盖了SSH在Linux系统中的主要应用场景,从基本连接到高级配置都有涉及。根据您的具体需求选择适合的命令和配置方式。