The below is my journey trying to get multi-user sftp working using alpine on termux
pkg update && pkg upgrade
pkg install proot-distro openssh
proot-distro install alpine
proot-distro login alpine
apk update
apk upgrade
apk add openssh shadow sudo
apk add vim
vim /etc/ssh/sshd_config
Port 8022
PermitRootLogin no
PasswordAuthentication yes
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
addgroup sftpusers
adduser user1
adduser user1 sftpusers
mkdir -p /sftp/user1/upload
chown root:root /sftp/user1
chmod 755 /sftp/user1
chown user1:sftpusers /sftp/user1/upload
How I run my server each time
pkill sshd
rm -f /etc/ssh/ssh_host_*
ssh-keygen -A
/usr/sbin/sshd -D -d -d -d
From another termux session
sftp -P 8022 user1@127.0.0.1
Connection reset by 127.0.0.1 port 8022
Connection closed
Some troubleshooting steps
mkdir -p /run/sshd
chmod 755 /run/sshd
grep sshd /etc/passwd
sshd:x:22:22:sshd:/dev/null:/sbin/nologin
This is where I am stuck
sshd debug output:
debug3: ssh_sandbox_init: preparing seccomp filter sandbox [preauth]
debug3: privsep user:group 22:22 [preauth]
debug1: permanently_set_uid: 22/22 [preauth]
permanently_set_uid: was able to restore old [e]gid [preauth]
debug1: monitor_read_log: child log fd closed
debug3: mm_request_receive: entering
debug3: mm_request_receive: monitor fd closed
debug1: mm_reap: child exited with status 255
debug1: do_cleanup
debug1: Killing privsep child 13150
Comments