上一篇                     
               
			  linux 如何ssh
- Linux
- 2025-06-26
- 3294
 在Linux中使用SSH远程连接服务器,需安装openssh-client(通常已预装),执行命令
 
 
ssh 用户名@服务器IP地址;若端口非默认22,则加
 -p 端口号参数。
SSH基础操作
安装SSH
- 客户端安装(通常预装): sudo apt install openssh-client # Debian/Ubuntu sudo yum install openssh-clients # CentOS/RHEL 
- 服务端安装: sudo apt install openssh-server # Debian/Ubuntu sudo yum install openssh-server # CentOS/RHEL 
- 启用服务: sudo systemctl enable --now sshd # 启动并设置开机自启 
连接远程服务器
ssh username@remote_ip # 基础格式
- 指定端口(默认22): ssh -p 2222 user@192.168.1.100 # 连接非默认端口 
- 首次连接:需接受主机密钥指纹(输入yes确认)。
配置文件优化
编辑 ~/.ssh/config 简化连接:
   Host myserver
       HostName 203.0.113.5
       User admin
       Port 2222 
之后直接执行 ssh myserver 即可连接。
密钥认证(更安全)
生成密钥对
ssh-keygen -t ed25519 # 推荐ed25519算法
- 默认保存位置:~/.ssh/id_ed25519(私钥)和~/.ssh/id_ed25519.pub(公钥)。
上传公钥到服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote_ip
- 或手动追加公钥到服务器的 ~/.ssh/authorized_keys文件中。
禁用密码登录(提升安全)
编辑服务器上的 /etc/ssh/sshd_config:

PasswordAuthentication no # 关闭密码登录 PubkeyAuthentication yes # 启用密钥登录
重启服务生效:
sudo systemctl restart sshd
高级技巧
文件传输
- 从本地上传: scp file.txt user@remote_ip:/path/to/dest 
- 从服务器下载: scp user@remote_ip:/remote/file.txt /local/path 
端口转发
- 本地端口转发(访问远程服务): ssh -L 8080:localhost:80 user@remote_ip # 本地8080映射到远程80端口 
连接问题排查
- 调试模式: ssh -vvv user@remote_ip # 显示详细日志 
- 检查服务状态: sudo systemctl status sshd # 确认服务运行 
- 防火墙放行: sudo ufw allow 22/tcp # Ubuntu sudo firewall-cmd --add-service=ssh --permanent # CentOS 
安全最佳实践
- 修改默认SSH端口
 编辑/etc/ssh/sshd_config: Port 2222 # 改为非标准端口 
- 禁止root登录
 同一配置文件中:PermitRootLogin no 
- 使用Fail2ban防御暴力破解 sudo apt install fail2ban # Debian/Ubuntu sudo yum install fail2ban # CentOS/RHEL 
SSH是Linux系统管理的必备技能,通过密钥认证、端口修改和配置优化可大幅提升安全性,建议定期更新OpenSSH软件,并监控登录日志(/var/log/auth.log),对于生产环境,务必遵循最小权限原则。

引用说明参考OpenSSH官方文档(openssh.com)、Linux man-pages及服务器安全最佳实践,操作前请备份配置文件,修改关键设置需谨慎。
 
  
			 
			 
			 
			 
			 
			 
			 
			