Como executar um script na conexão do sftp?

5

Eu corro um servidor ssh em minha máquina e restringo o acesso a certos usuários para sftp apenas com sftp interno & ChrootDirectory. O que eu preciso é uma maneira de executar um script antes de chrooting users. Na verdade, o objetivo é montar um sistema de arquivos criptografado na conexão do cliente e desmontá-lo no fechamento. Thx antecipadamente.

    
por fokenrute 24.09.2010 / 15:19

2 respostas

4

Se você não quer hackar o código openssh, você tem que usar o servidor sftp externo. Se você fizer isso, é uma questão simples de colocar um wrapper em torno dele. Por exemplo: em sshd_config

Subsystem       sftp    /usr/local/bin/sftp-server

Em /usr/local/bin/sftp-server :

#!/bin/sh
mount_special_fs
chroot /my/secret/stuff /usr/libexec/openssh/sftp-server
umount_special_fs

É possível colocar um wrapper em torno de sshd e lançar o wrapper a partir de inetd , mas a inicialização de sshd de inted é desencorajada porque é lenta a inicialização.

    
por 25.09.2010 / 00:16
1

Você também pode usar o pam_script, um módulo pam para executar scripts de um módulo de autenticação pam. Você pode adicioná-lo em sua configuração pam sshd. URL: link

    
por 14.06.2012 / 14:37

Tags