mac ssh without password

最近变身苹果狗,terminal直接阔以SSH登陆服务器简直好顶赞。
不过复杂变态的密码每次都要输入实在苦恼不已,每次都得从文本里复制进去。
后来捣鼓了半天,终于搞定了免密码登陆服务器。
其实实质就是本地生成公钥放在服务器,然后通过ssh口令时就会验证公钥来完成登陆。

  • 1. 本地生成密钥

1
$ ssh-keygen -t rsa

然后就会看到.ssh目录下生成的私钥和公钥

1
2
3
$ ls ~/.ssh  
id_rsa //私钥
id_rsa.pub //公钥
  • 2. 配置ssh config

    1
    2
    3
    4
    5
    6
    7
    $ vim ~/.ssh/config  
    Host test //host简称,完成之后可以直接通过ssh+简称完成登陆
    HostName 192.168.xx.xx //服务器地址
    Port 22 //服务器端口
    User root //登陆名称
    PreferredAuthentications publickey //认证方式 此处值为公钥认证
    IdentityFile ~/.ssh/id_rsa //私钥文件
  • 3. 公钥放在目标服务器

1
$ scp ~/.ssh/id_rsa.pub root@HostName:~/.ssh
  • 4. 写入公钥

root用户登陆目标服务器

1
2
$ ls ~/.ssh  
id_rsa.pub authorized_keys

接下来把公钥写进authorized_keys中,如果~/.ssh下没有 则新建一个

1
2
$ touch ~/.ssh/authorized_keys   //新建authorized_keys  
$ cat id_rsa.pub >> authorized_keys //写入公钥

tips:如果登陆的不是root用户,那么需要把公钥放在/home/user/.ssh下面,user对应的是登陆用户名

这样就大功告成了!
直接在本机终端 ssh test,试下是不是连通了?