gitea: proxy ssh via local git user (#11)
parent
25b78d4a0f
commit
1976e0f55f
@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
die() { echo >&2 "gitea: ERROR $*" ; exit 1 ; }
|
||||
info() { echo >&2 "gitea: $*" ; }
|
||||
|
||||
if grep -q "^git:" /etc/passwd ; then
|
||||
info "git user already exists"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
SSHDIR="/home/git/.ssh"
|
||||
addgroup --gid 2222 git \
|
||||
|| die "unable to create git group"
|
||||
adduser \
|
||||
--uid 2222 \
|
||||
--gid 2222 \
|
||||
--disabled-password \
|
||||
--gecos "Gitea Proxy User" \
|
||||
git \
|
||||
|| die "unable to add git user"
|
||||
|
||||
rm -f "$SSHDIR/id_rsa" "$SSHDIR/id_rsa.pub" "$SSHDIR/authorized_keys"
|
||||
|
||||
sudo -u git ssh-keygen \
|
||||
-t rsa \
|
||||
-b 4096 \
|
||||
-C "Gitea Proxy User Key" \
|
||||
-N "" \
|
||||
-f "$SSHDIR/id_rsa" \
|
||||
|| die "unable to create host key"
|
||||
|
||||
sudo -u git tee -a "$SSHDIR/authorized_keys" < "$SSHDIR/id_rsa.pub" \
|
||||
|| die "unable to setup authorized key"
|
||||
chmod 600 "$SSHDIR/authorized_keys"
|
||||
|
||||
cat <<"EOF" > "/usr/local/bin/gitea"
|
||||
#!/bin/sh
|
||||
ssh -p 2222 -o StrictHostKeyChecking=no git@127.0.0.1 "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@"
|
||||
EOF
|
||||
chmod +x "/usr/local/bin/gitea"
|
||||
|
Loading…
Reference in new issue