49 lines
1.2 KiB
Bash
Executable File
49 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# ==================================================================================
|
|
|
|
echo "Configuring user 'git'..."
|
|
|
|
if ! id git; then
|
|
sudo adduser \
|
|
--system \
|
|
--disabled-password \
|
|
--group \
|
|
--gecos 'Gitea user' \
|
|
--home /home/git \
|
|
git
|
|
fi
|
|
|
|
sudo passwd -d git
|
|
sudo usermod -aG docker git
|
|
|
|
currentdir=$(dirname $(readlink -e -- "${BASH_SOURCE}"))
|
|
sudo cp -f "$currentdir/gitea-shell" /home/git/
|
|
sudo chmod a+x /home/git/gitea-shell
|
|
sudo usermod -s /home/git/gitea-shell git
|
|
|
|
sudo mkdir -p /home/git/.ssh
|
|
sudo chown -R git:git /home/git
|
|
sudo chmod 755 /home/git
|
|
sudo chmod 700 /home/git/.ssh
|
|
|
|
# ==================================================================================
|
|
|
|
cfgpath="/etc/ssh/sshd_config.d/gitea.conf"
|
|
echo "Installing new ssh config: $cfgpath"
|
|
sudo tee "$cfgpath" > /dev/null <<EOF
|
|
Match User git
|
|
PasswordAuthentication no
|
|
AuthorizedKeysCommandUser git
|
|
AuthorizedKeysCommand /usr/bin/docker exec -i gitea /usr/local/bin/gitea keys -e git -u %u -t %t -k %k
|
|
EOF
|
|
|
|
# ==================================================================================
|
|
|
|
echo "Reloading ssh configs..."
|
|
sudo systemctl reload ssh
|
|
# sudo systemctl reload sshd
|
|
|
|
echo "Done!"
|