SSH + proFTPd = SFTP szybki przepis

Ot szybki przepis aby do sftp używać proftpd zamiast ssh :)
Na początek instalujemy proftpd:
apt-get install proftpd
Zmieniamy kilka wpisów w pliku konfiguracyjnym:
vim /etc/proftpd/proftpd.conf
Tutaj trzeba od komentować:
DefaultRoot ~
Dzięki temu user nie wyjdzie poza swój katalog domowy
Konfigurujemy sftp:
vim /etc/proftpd/conf.d/sftp.conf
Coś jak poniżej:
<IfModule mod_sftp.c>
SFTPEngine on
Port 2290
SFTPLog /var/log/proftpd/sftp.log
# Configure both the RSA and DSA host keys, using the same host key
# files that OpenSSH uses.
SFTPHostKey /etc/ssh/ssh_host_rsa_key
SFTPHostKey /etc/ssh/ssh_host_dsa_key
SFTPAuthMethods publickey
SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u
# Enable compression
SFTPCompression delayed
</IfModule>
Oczywiście port 2290 będzie potrzebny do łączenia się z serwerem.
Zakładamy katalog gdzie będą trzymane klucze:
mkdir /etc/proftpd/authorized_keys
Generujemy u klienta klucz, który będzie używał do połączenia. Klucz w formacje dla proftpd:
ssh-keygen -e -f .ssh/plik_klucza
Wynik zapisujemy i wrzucamy w plik o nazwie loginu usera do katalogu: /etc/proftpd/authorized_keys.
Restart proftpd :)
/etc/init.d/proftpd restart
Teraz pozostaje nam tylko zablokować sftp via ssh, wieć:
vim /etc/ssh/sshd_config
I tam musimy dać komentarz dla linii:
Subsystem sftp /usr/lib/openssh/sftp-server
I restart ssh
/etc/init.d/ssh restart
To wszystko :)