SSH 配置管理

SSH 配置

  • 生成 ssh key, 开启 ssh-agent
    1
    2
    3
    4
    # 生成 ssh key
    ssh-keygen -t rsa -b 4096 -C "[email protected]"
    # 开启 ssh-agent
    eval "$(ssh-agent -s)"
  • 若系统为 macOS Sierra 10.12.2 之后的版本, 需要配置 ~/.ssh/config

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Host *
    AddKeysToAgent yes
    UseKeychain yes
    IdentityFile ~/.ssh/id_rsa

    # 若为多个 key, 继续添加
    Host *
    AddKeysToAgent yes
    UseKeychain yes
    IdentityFile ~/.ssh/id_rsa_dokku
  • 添加 ssh private key 到 ssh-agent

    1
    2
    3
    4
    5
    6
    7
    ssh-add -K ~/.ssh/id_rsa
    # 查看添加过的 key
    ssh-add -l
    # 删除 key
    shh-add -D
    # 测试 key
    ssh -T [email protected]
  • SSH 配置为密钥登陆, 并禁止密码登陆

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # 复制密钥到服务器
    ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
    # 直接使用密钥登陆
    ssh [email protected]

    # 修改配置文件,禁止密码登陆
    vim /etc/ssh/sshd_config
    设置 PasswordAuthentication no

    # 重启ssh
    service sshd restart //( Centos 6)
    systemctl restart sshd //(Centos 7)
    /etc/init.d/ssh restart // (Ubuntu)

参考

  1. Generating a new SSH key and adding it to the ssh-agent
  2. git生成ssh key及本地解决多个ssh key的问题