linux中输入如下指令,生成生成一个以默认文件名 id_rsa
保存的私钥(~/.ssh/id_rsa
),以及一个对应的公钥文件(~/.ssh/id_rsa.pub
)。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
如果不设定文件和密码,直接回车即可
这就是公钥所在的文件
输入
cat /root/.ssh/id_rsa.pub
公钥如下(/root/.ssh/id_rsa.pub文件的全部内容):
进入gitee,-》我的 点击左上角的设置图标
点击ssh公钥
输入你的公钥,并设定标题(默认标题为生成公钥的邮箱)
输入完成后,点击确定懂得吧;
gitee中使用ssh方式
复制后
git clone git@gitee.com:...(你的ssh链接)
就成功了;
当然免密码可不是为了少输入一次而已;
可以编写一个shell脚本进行自动的配置;
如下可供参考:
个别变量自己修改
#!/bin/sh
echo "================================="
echo "自动化部署脚本启动"
echo "================================="
echo "停止原来运行中的工程"
APP_NAME=$1
VERSION=1.0-SNAPSHOT
JAR_NAME=${APP_NAME}-${VERSION}.jar
LOG_NAME=${APP_NAME}.log
APP_DIR=/root/project/college/project
LOG_DIR=/root/project/college/log
APP_PATH=${APP_DIR}/${APP_NAME}
LOG_PATH=${LOG_DIR}/${LOG_NAME}
JAR_PATH=${APP_DIR}/${APP_NAME}/target/${JAR_NAME}
# 查找进程id(如果jar还在运行的)
tpid=`ps -ef|grep $JAR_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
#如果存在杀死进程
if [ ${tpid} ];
then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $JAR_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
#如果 kill -15 pid没杀死进程 就使用kill -9 pid 强制杀死
if [ ${tpid} ];
then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
echo "准备从Git仓库拉取最新代码"
cd ${APP_PATH}
echo "开始从Git仓库拉取最新代码"
git pull
echo "代码拉取完成"
echo "开始打包"
#打包并重定向输出
mvn clean package -Dmaven.test.skip=true &> ${LOG_PATH}
cd target
echo "启动项目"
#启动并重定向输出
nohup java -jar ${JAR_PATH} &> ${LOG_PATH} &
echo "项目启动完成"
/root/sh/projectStart.sh就是shell脚本文件