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

工作上换了个MAC AIR本本,工作环境要恶搞一阵子了。首先是和远程Linux服务器SSH自动登录设置,同时此设置OK以后,Git也可以免密码执行了。

第一步:生成密钥。在终端下执行命令:

ssh-keygen -t rsa

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

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

第二步:放置公钥到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文件,没有则新建一个就行

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

vi ~/.ssh/config

加入以下内容:

Host cssor_server  #别名,域名缩写
    HostName cssor.com  #完整的域名
    User cssor  #登录该域名使用的账号名
    PreferredAuthentications publickey  #有些情况或许需要加入此句,优先验证类型ssh
    IdentityFile ~/.ssh/id_rsa #私钥文件的路径

经过以上操作以后,已经大功告成,感谢一同事帮忙,虽然他用的是Ubuntu系统。
使用ssh cssor_server或ssh cssor.com就可以直接登录到远程服务器了。并且如果git服务器也是搭建在同一个Linux主机上,本地执行git pull等也不需要密码再次登录了。

以上比较要注意的是: 公钥要放在登录服务器所用的账号的家目录下,比如你用 abc登录远程服务器,就要把公钥 放到 /home/abc/.ssh/下, authorized_keys文件也是在这个目录下。我曾因为放错账号目录,导致失败。

附ssh config一个资料:http://nerderati.com/2011/03/simplify-your-life-with-an-ssh-config-file/

http://cssor.com/mac-ssh-auto-login-server.html

MAC下ssh免密码登录远程服务器》有 15 条评论

  1. 2014.04.11 @ 19:04 Wei

    Hey 第一步有笔误呢,ssh-kegen应该是ssh-keygen

  2. 2014.04.18 @ 22:04 cm

    为何我的mac下还是需要输入密码呢? 代码验证过没?

    • 2014.04.24 @ 00:04 ToFishes

      验证过,而且后来第二次按照这个去配置了一遍,通过了。大概你是某个地方和我描述的做的不一致。

    • 2014.04.24 @ 00:04 ToFishes

      比较要注意的是: 公钥要放在登录服务器所用的账号的家目录下,比如你用 abc登录远程服务器,就要把公钥 放到 /home/abc/.ssh/下, authorized_keys文件也是在这个目录下。

    • 2014.10.07 @ 13:10 Inari

      我也遇到了同样的问题,虽然可以直接登但是还是要输密码。其实我很不明白楼主介绍的过程中哪里体现了保存密码的过程?

    • 2014.10.09 @ 17:10 ToFishes

      不是保存密码,而是配置本地一个私钥,远程一个公钥,相互配对就可以免密码。如果还是出现输入密码提示,就说明配置错误。

  3. 2014.07.29 @ 15:07 阿SI

    写的非常好,赞一个!

  4. 2014.11.08 @ 18:11 Joinfun

    1. scp ~/.ssh/id_rsa.pub cssor@cssor.com:/home/cssor/.ssh/
    2. 就要把公钥 放到 /home/abc/.ssh/下, authorized_keys文件也是在这个目录下。我曾因为放错账号目录,导致失败。
    —–
    mac+centos,把公钥和authorized_keys放在服务器用户/root/.ssh下,ssh登录依旧需要密码,而将公钥直接放在/root下可免密码登录。鉴于评论中有不能免密码登录的情况,可以试一下这样。

  5. 2015.01.24 @ 13:01 Q

    第三部加入以后
    如何保存?

    • 2015.02.06 @ 13:02 ToFishes

      不熟悉vi ? 编辑完成以后,按Esc键进入normal模式,敲 :wq ,就可以保存并退出。 那么你是怎么进入编辑模式的?如果你不会vi的话…

  6. 2015.04.29 @ 15:04 yin

    我打开终端,直接输入跟你的上面代码一样,后面还是要输入密码¥$cssor@cssor.com’s password:
    表示还是有问题。

  7. 2015.09.18 @ 14:09 xlj

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

    这个有错误

    cat /home/cssor/.ssh/id_rsa.pub >> authorized_keys 这样执行就没问题了

  8. 2016.04.18 @ 18:04 Adrift

    感谢分享

参与评论

电子邮件地址不会被公开。 必填项已用*标注

*

全部分类
Books(4)code(7)database(6)html&css(24)java(11)JavaScript(48)jQuery(24)linux(20)python(1)React(1)share(1)soft(4)solution(53)thinking(17)vim(9)WordPress(8)前端优化(12)拓展(33)服务器(31)移动开发(4)自然(22)