centos

ssh远程管理centos技巧

小樊
52
2025-03-09 09:46:44
栏目: 智能运维

使用SSH远程管理CentOS服务器是一种常见且高效的方式,以下是一些有用的技巧和步骤:

安装与基础配置

  1. 安装SSH服务

    • 在Ubuntu/Debian系统上:
      sudo apt update && sudo apt install openssh-server
      
    • 在CentOS/RHEL系统上:
      sudo yum install openssh-server && systemctl start sshd
      
    • 验证服务状态:
      systemctl status sshd
      
  2. 服务器配置

    • 修改配置文件 /etc/ssh/sshd_config
      • 更改默认端口(避免扫描):
        Port 2222
        
      • 禁止root直接登录:
        PermitRootLogin no
        
      • 禁用密码认证(推荐密钥):
        PasswordAuthentication no
        
      • 限制允许登录的用户:
        AllowUsers user1 user2
        
    • 重启服务:
      systemctl restart sshd
      

密钥认证与安全加固

  1. 生成密钥对

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
    • 默认存储路径:~/.ssh/id_rsa(私钥)和 id_rsa.pub(公钥)。
  2. 部署公钥到服务器

    • 使用 ssh-copy-id
      ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host
      
    • 手动复制:
      cat ~/.ssh/id_rsa.pub | ssh user@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
      
    • 权限设置:
      chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
      
  3. 安全增强措施

    • 使用防火墙限制SSH端口访问(如 ufwiptables)。
    • 部署 fail2ban 防御暴力破解。

客户端配置与实用命令

  1. 简化连接配置

    • 编辑 ~/.ssh/config
      Host myserver
          HostName 192.168.1.100
          User user
          Port 2222
          IdentityFile ~/.ssh/id_rsa
      
    • 连接时直接使用别名:
      ssh myserver
      
  2. 文件传输

    • 本地到远程:
      scp -P 2222 local_file user@remote_host:/path
      
    • 远程到本地:
      scp -r user@remote_host:/remote_dir /local_dir
      
  3. 端口转发与隧道

    • 本地端口转发(访问内网服务):
      ssh -L 8080:internal_host:80 user@jump_host
      
    • 动态SOCKS代理:
      ssh -D 1080 user@remote_host
      

故障排查与最佳实践

  1. 日志与调试

    • 查看服务状态:
      journalctl -u sshd
      
    • 详细连接调试:
      ssh -vv user@remote_host
      
  2. 最佳实践

    • 定期更新系统和SSH软件包。
    • 备份配置文件:
      cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
      

通过以上步骤和技巧,你可以更安全、高效地使用SSH远程管理CentOS服务器。

0
看了该问题的人还看了