美文网首页
配置使用Docker构建的Gogs的SSH

配置使用Docker构建的Gogs的SSH

作者: 怎么吃都不胖丶 | 来源:发表于2017-11-15 11:36 被阅读0次

配置完后可以使得Gogs的ssh地址不需要端口

  1. 创建git用户并把git用户设置uid1000sudo useradd git -u 1000
  2. 创建一个存放gogs container的目录,并把目录所有者授予git用户,sudo chown -R git:git your_path
  3. 切换到git用户,共享.ssh目录:
ln -s your_path/git/.ssh ~/.ssh
  1. 生成git用户的public keyssh-keygen然后接三个回车
  2. 把生成的id_rsa.pub附加到authorized_keys文件:
cat id_rsa.pub >> authorized_keys | echo -n 'no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ' >> authorized_keys
  1. 切换到root用户或者具备sudo权限的用户,运行下面这个脚本:
mkdir -p /app/gogs/
cat >/app/gogs/gogs <<'END'
#!/bin/sh
ssh -p your_ssh_port -o StrictHostKeyChecking=no git@127.0.0.1 \
"SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@"
END
chmod +x /app/gogs/gogs
  1. Enjoy it!

Tips: gitsh不能设置为git-shell

Final

经过本人折腾的经历发现,当删除一个秘钥的时候,整个authorized_keys文件都会被清空。所以目前本人已经放弃在docker-compose中集成Gogs了。

 二进制大法好!

相关文章

网友评论

      本文标题:配置使用Docker构建的Gogs的SSH

      本文链接:https://www.haomeiwen.com/subject/ioecvxtx.html