共计 1462 个字符,预计需要花费 4 分钟才能阅读完成。
记录一次完整的部署服务到远程服务器上的过程 – 第一篇
首先,我用的是 macbook,我不喜欢每次登陆服务器(Unix)都输入密码,有点恶心,那么听说可以 ssh 免密登陆。之前操作过,但是很久不用,绝对的想不起来啊。
终极目标:ssh user@host -p port 直接进入服务器
1. 确认自己是否有公 / 私钥
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. 上传我们的公钥文件
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. 完成后的尝试
hallluck:~ faithfairy$ ssh user@192.168.888.888 | |
// 重新打开 iTerm,输入并回车,这时不再提示“请输入密码”了 |
5. 后续
如果服务器上已经有 authorized_keys 文件,并且里面已有其他人的公钥了,那么就不能用刚才的“改文件夹”的方法去操作了,而要选择“追加”的方法,如下操作
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 文件夹,执行下面的操作 |
大功告成
正文完
发表至: linux
2019-06-20