MAC下ssh免密码登录远程服务器

  1. 生成密钥。在终端下执行命令:

    ssh-keygen -t rsa

    一路回车,各种提示按默认不要改,等待执行完毕。然后执行:

    ls ~/.ssh

    #可以看到两个密钥文件:id_rsa(私钥) id_rsa.pub(公钥)

  2.  

    放置公钥到Linux服务器。使用scp命令:

    scp ~/.ssh/id_rsa.pub cssor@cssor.com:/home/cssor/.ssh/

    然后把id_rsa.pub的内容加入到服务器端的默认验证文件authorized_keys,执行:

    #先登录到远程服务器

    cd ~/.ssh

    cat -n /home/cssor/.ssh/id_rsa.pub >> authorized_keys #将公钥内容加入到authorized_keys文件,没有则新建一个就行

  3.  

    配置本地ssh config文件。执行:

    vi ~/.ssh/config

    加入以下内容:

    Host cssor_server  #别名,域名缩写

       HostName cssor.com  #完整的域名

       User cssor  #登录该域名使用的账号名

       PreferredAuthentications publickey  #有些情况或许需要加入此句,优先验证类型ssh

       IdentityFile ~/.ssh/id_rsa #私钥文件的路径

    经过以上操作以后,已经大功告成,感谢一同事帮忙,虽然他用的是Ubuntu系统。

    END

注意事项

 
  • 公钥要放在登录服务器所用的账号的家目录下,比如你用 abc登录远程服务器,就要把公钥 放到 /home/abc/.ssh/下, authorized_keys文件也是在这个目录下。
原文地址:https://www.cnblogs.com/raphael1982/p/7846823.html