一、配置ssh免密码登录步骤
1.检查是否已存在公私钥对
在mac上打开terminal。更改目录到~/.ssh目录。list当前目录可以看到所有公私钥文件。拥有.pub结尾的文件是公钥文件,无.pub的是私钥文件。
cd ~/.ssh
# 更换目录到 ~/.ssh
ls
# 查看当前目录公私钥文件
# (当前私钥位置 ./liuz/.ssh 下)
2.生成公私钥对(可选步骤)
这步适用于上一步ls观察之后当前文件夹不存在公私钥对的情况。
ssh-keygen
# 根据交互,输入你想要的名字(默认id_rsa)
# 然后是passphrase,设置为空即可。这样就生成了一对公私钥
ls
# 这时候当前目录下会多了一对公私钥对。
3.上传公钥到服务器
这一步从本地将公钥文件上传到服务器指定目录。
ssh-copy-id -i [公钥文件] user@host
# user是你的ssh的用户,host是服务器地址,这时候还要输入密码。
# 例子:ssh-copy-id -i id_rsa.pub root@111.111.111.111
$ ssh-copy-id -i .ssh/id_rsa.pub 用户名字@192.168.x.xxx
注意: ssh-copy-id 将key写到远程机器的 ~/ .ssh/authorized_key.文件中
4.检查登录
$ ssh 用户名字@192.168.x.xxx
# 退出远程服务
exit
5. ssh-add(mac的坑点)
好一般别的系统到第三步就可以免密登陆了,但是mac并不这样。还要调用ssh-add。
ssh-add -K [你的私钥文件,就是那个不加.pub结尾的文件]
# 例如,ssh-add -K id_rsa
我的Mac在配置免密登录时,没有用到第五步,配置到第三步,直接检测及可以登录。
二、配置脚本推当前代码仓库至线上服务器环境
1.进入项目文件
cd /项目目录
2.创建脚本
vim deploy.sh
#!/bin/sh
git pull
npm run build
scp -r dist/* root@xx.xx.xx.xx:/usr/HomePage/web/admin/
# 给deploy.sh运行权限
chmod +x deploy.sh
# 运行deploy.sh脚本
./deploy.sh
111.png
网友评论