免密ssh登录配置

免密ssh登录配置

  1. 检查是否已存在公私钥对
    在mac上打开terminal。更改目录到~/.ssh目录。list当前目录可以看到所有公私钥文件。拥有.pub结尾的文件是公钥文件,无.pub的是私钥文件。
    cd ~/.ssh
    更换目录到 ~/.ssh
    ls

  2. 生成公私钥对(可选步骤)
    这部适用于上一步list观察之后当前文件夹不存在公私钥对的情况。
    ssh-keygen
    根据交互,输入你想要的名字(默认id_rsa)
    然后是passphrase,设置为空即可。这样就生成了一对公私钥
    这时候当前目录下会多了一对公私钥对。

  3. 上传公钥到服务器
    这一步从本地将公钥文件上传到服务器指定目录。
    ssh-copy-id -i [公钥文件] user@host
    user是你的ssh的用户,host是服务器地址,这时候还要输入密码。
    例子:ssh-copy-id -i id_rsa.pub root@111.111.111.111

  4. ssh-add(mac的坑点)
    好一般别的系统(普通的Linux服务器)到第三步就可以免密登陆了,但是mac并不这样。还要调用ssh-add。
    ssh-add -K [你的私钥文件,就是那个不加.pub结尾的文件]
    例如,ssh-add -K id_rsa
    中途需要输入证书的密码。
    按照这四个步骤执行就可以免秘登陆远程的linux服务器了。注意以上所有命令都是在本地机子执行。第三步用到了上传工具ssh-copy-id,这个工具直接讲公钥上传到了服务器,所以简化了使用ssh连接服务器,再在服务器上注册公钥这个步骤。