Linux SSH

  • 从主机 A 直接免密登录主机 B 的方法:

    1. 在主机 B ~/.ssh/目录下生成公钥id_rsa.pub和私钥id_rsa
    2. ~/.ssh/执行命令cat id_rsa.pub >> authorized_keys将公钥信息追加到可登录列表
    3. 设置好合适的文件权限chmod 600 authorized_keys
    4. 拷贝 B 的~/.ssh/id_rsa 为 A 的~/.ssh/id_rsa_to_b
    5. 设置文件权限chmod 600 id_rsa_to_b
    6. 配置 A 的~/.ssh/config,增加两行Host xxx,IdentityFile ~/.ssh/id_rsa_to_b,将 B 的主机地址(域名或 IP 地址)与私钥绑定
    7. 在 A 执行登录命令 ssh user@xxx.xxx.xxx.xxx,就可以免密登录了

~/.ssh/config 配置文件说明

1
2
3
4
5
6
# ssh hostA 可以连到 www.abc.com 对应的服务器,同时设置了 user 和 端口
Host hostA
    HostName www.abc.com
    Port 1234
    User test
    IdentityFile ~\.ssh\id_rsa

常见问题

  • ssh -i authFile xx@xx.xx.xx.xx 以认证文件访问时,可能遇到报错: It is required that your private key files are NOT accessible by others. 只要执行chmod 600 authFile一下就可以了