步骤

  1. 在源端ssh-keygen -t rsa生成公私钥。
  2. ssh-copy-id将源端 ~/.ssh/id_rsa.pub公钥文件写入到目的端 ~/.ssh/authotized_keys文件中。

几个注意点

  • ssh-copy-id的低版本不支持-p指定目的端口,CentOS 6中的版本不支持,CentOS7中的版本已支持。
  • ssh-copy-id执行成功,但登录时仍需要密码,可cat /var/log/secure查看失败原因,如发现是root目录权限问题,可修改root目录权限chmod 700 /root 。
  • 目的端非root用户,会在目的端生成~/.ssh/目录,并写入authorized_keys文件。
  • 输入密码的提示,用echo -e ‘XXX\n’ | ssh-copy-id ……的方式处理未成功,最后Python脚本中使用pexpect模块进行处理。
  • ssh-copy-id执行的返回信息,不同版本不一样,需注意。
Logo

更多推荐