gitea使用docker开启sshClone giteaSshPermissionDenied-publickey.
经常看到gitea 关于ssh配置的问题
Permission denied (publickey).
下面开始手把手的教程
0. 原理
原理
1 |
|
1. 搭建服务器 ssh隧道转发
1.1 添加git
用户作为ssh专用的用户
1 | mkdir /home/git |
1.2 生成git
用户的rsa ssh登录密钥对
一定要加sudo -u
不然是生成root用户的密钥对。
或者你su git 切换用户生成先,记得切回ROOT chown git:git /home/git
1 |
|
1.3 修改.ssh
特殊权限,错误设置无法ssh登录!
1 | chmod 755 /home/git |
1.4 宿主机
开启 RSA证书登录
1 | vim /etc/ssh/sshd_conf |
2. 搭建服务器 docker启动
2.1 查看git
用户的 GUID和UID ,我这里是 1001
每个人不一样
1 | ids git |
2.1 编写gitea.sh
使用git用户启动,修改下面的-e USER_UID=
和-e USER_GID=
为上面的数值
vim gitea.sh
内容为
1 | docker kill gitea |
2.2 配置 22:->2222 ssh转发带来
vi /usr/local/bin/gitea
保存以下的脚本
1 | ssh -p 2222 -o StrictHostKeyChecking=no [email protected] "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@" |
1 | chmod -R 777 /usr/local/bin/gitea |
3. 你的电脑 配置
3.1 生成密钥对
打开git CMD
1 | ## 一路按回车就好了,千万不要输入 parsePasswd ,不然你每次git clone都要输入这个密码 |
把id_rsa.pub 内容 复制到 你的gitea网站
上 xxx.com/user/settings/keys
windows C:\Users\admin\.ssh\id_rsa.pub
linux ~/.ssh/id_rsa.pub
gitea使用docker开启sshClone giteaSshPermissionDenied-publickey.