# ssh 命令

ssh(Secure Shell)命令用于安全地远程登录另一台计算机。

# 语法

ssh [选项] [用户名@]主机 [命令]

# 常用选项

  • -p port: 指定端口号(默认22)
  • -i identity_file: 指定私钥文件
  • -l login_name: 指定登录用户名
  • -v: 显示详细的连接信息
  • -X: 启用X11转发

# 使用示例

# 基本用法
ssh user@hostname

# 指定端口
ssh -p 2222 user@hostname

# 使用私钥文件
ssh -i ~/.ssh/id_rsa user@hostname

# 执行远程命令
ssh user@hostname 'ls -l'

# 启用X11转发
ssh -X user@hostname

# SSH 配置文件

# 客户端配置文件 (~/.ssh/config)

Host myserver
    HostName example.com
    User username
    Port 22
    IdentityFile ~/.ssh/id_rsa

# 常见操作

# 生成 SSH 密钥对

ssh-keygen -t rsa -b 4096

# 复制公钥到远程服务器

ssh-copy-id user@hostname

# 安全建议

  1. 使用密钥认证代替密码认证
  2. 定期更新密钥
  3. 限制登录IP和端口
  4. 禁用root用户直接登录
  5. 使用非标准端口

# 常见问题解决

  1. 连接超时

    • 检查网络连接
    • 确认服务器SSH服务是否运行
    • 检查防火墙设置
  2. 密钥权限问题

    • 私钥文件权限应设为600
    • 公钥文件权限应设为644