首先,我用的是 macbook ,我不喜欢每次登录服务器(Unix)都输入密码,有点恶心,那么据说能够 ssh 免密登录。以前操做过,可是好久不用,绝对的想不起来啊。git
终极目标: ssh user@host -p port 直接进入服务器服务器
1.确认本身是否有公/私钥ssh
hallluck:~ faithfairy$ cd .ssh // 输入 cd .ssh 回车,进入 .ssh 文件夹 “hallluck:~ faithfairy$”是iTerm的前缀,不用理会 hallluck:.ssh faithfairy$ ls -al // 输入 ls -al 回车,查看当前文件夹的全部文件,寻找一个叫作 id_rsa.pub 的文件, 要是有,就直接看 2,要是没有,继续往下看 hallluck:.ssh faithfairy$ ssh-keygen -t rsa // 输入 ssh-keygen -t rsa 回车,以后就能够一路回车,通常都不设置密码,便可在~/.ssh目录中生成私钥文件(id_rsa)和公钥文件(id_rsa.pub)。若是熟悉git ssh-key配置的朋友,可能已经很熟悉这个步骤了,因此咱们只要把公钥上传到咱们的服务器的~/.ssh目录就行了
2.上传咱们的公钥文件code
hallluck:.ssh faithfairy$ scp id_rsa.pub user@8.8.8.8 -p 2222:~/.ssh/ // 输入 scp id_rsa.pub user@8.8.8.8 -p 2222:~/.ssh/ 回车,本地公钥上传到服务器 .ssh 文件夹 // 若是服务器上的 ~/ 目录下没有 .ssh 文件夹,那么请登陆服务器后建立便可 1. hallluck:~ faithfairy$ ssh user@8.8.8.8 -p 2222 回车后提示输入密码 2. 显示下面内容: Last login: Tue Jun 18 02:54:58 2019 from 192.168.888.888 3. 输入 mkdir .ssh 建立 .ssh 文件夹 [user@localhost ~]$ mkdir .ssh
3.登陆服务器修改设置公钥部署
hallluck:~ faithfairy$ ssh user@8.8.8.8 -p 2222 // 登陆服务器 [user@localhost ~]$ cd .ssh // 进入 .ssh 文件夹 [user@localhost .ssh]$ mv id_rsa.pub authorized_keys // 将~/.ssh目录下的id_rsa.pub文件更名为authorized_keys chmod 700 ~/.ssh/ chmod 600 ~/.ssh/authorized_keys //修改文件权限
4.完成后的尝试macbook
hallluck:~ faithfairy$ ssh user@192.168.888.888 // 从新打开iTerm,输入并回车,这时再也不提示“请输入密码”了
5.后续
若是服务器上已经有 authorized_keys 文件,而且里面已有其余人的公钥了,那么就不能用刚才的“改文件夹”的方法去操做了,而要选择“追加”的方法,以下操做it
hallluck:.ssh faithfairy$ scp id_rsa.pub user@8.8.8.8 -p 2222:~/.ssh/ // 输入 scp id_rsa.pub user@8.8.8.8 -p 2222:~/.ssh/ 回车,本地公钥上传到服务器 .ssh/ 文件夹 [user@localhost .ssh]$ cat id_rsa.pub >> authorized_keys // 进入服务器的 .ssh 文件夹,执行下面的操做
大功告成ast