最近变身苹果狗,terminal直接阔以SSH登陆服务器简直好顶赞。
不过复杂变态的密码每次都要输入实在苦恼不已,每次都得从文本里复制进去。
后来捣鼓了半天,终于搞定了免密码登陆服务器。
其实实质就是本地生成公钥放在服务器,然后通过ssh口令时就会验证公钥来完成登陆。
1 | $ ssh-keygen -t rsa |
然后就会看到.ssh目录下生成的私钥和公钥
1 | $ ls ~/.ssh |
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 |
root用户登陆目标服务器
1 | $ ls ~/.ssh |
接下来把公钥写进authorized_keys中,如果~/.ssh下没有 则新建一个
1 | $ touch ~/.ssh/authorized_keys //新建authorized_keys |
tips:如果登陆的不是root用户,那么需要把公钥放在/home/user/.ssh下面,user对应的是登陆用户名
这样就大功告成了!
直接在本机终端 ssh test,试下是不是连通了?