Como evitar que a mensagem “Last Login:” apareça ao usar o sftp?

7

No Ubuntu GNU / Linux 12.04, eu tenho um usuário johndoe que faz parte de um grupo sftponly , configurado para sftp para uma chroot jail usando

Subsystem sftp internal-sftp

Match Group sftponly
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no

no final de /etc/ssh/ssh_config . Todos os componentes do diretório home do usuário são os diretórios root -owned que não podem ser gravados por nenhum outro usuário ou grupo, conforme explicado em man sshd_config (em ChrootDirectory ). Dentro de sua chroot jail, existe um diretório gravável files :

sudo groupadd sftponly    
sudo mkdir -p /home/sftponly/johndoe/files
sudo useradd -d /home/sftponly/johndoe -g sftponly -s /usr/sbin/nologin johndoe
sudo chmod go-w /home/sftponly/{,johndoe}
sudo chown johndoe:sftponly /home/sftponly/johndoe/files
sudo chmod ug+rwX /home/sftponly/johndoe/files

(Definir o shell como /bin/false não funcionou com ssh ou sftp . Com nologin quando o shell ssh se conecta, mostra "MOTD" e, em seguida, desconecta, que é o comportamento esperado .)

Mas sftp falha com a mensagem Received message too long 1416128883 . Eu sei que essa falha é causada por "MOTD" (mensagem do dia), como sftp espera um "login limpo". Eu tentei desativar todas as partes "MOTD" no servidor usando o seguinte, com ( estes resultados ):

  • Adicionando PrintLastLog no e PrintMotd no ao final de /etc/ssh/ssh_config e reiniciando ssh usando restart ssh . ( Sem efeito . O teste com ssh mostra "MOTD" e "Last Login:".)

  • Comente o session optional pam_motd.so em /etc/pam.d/sshd . ( Impede MOTD . Mas não há entrada correspondente para "LastLog", portanto, o teste com ssh , "Último login:" ainda é exibido e, portanto, sftp ainda falha .)

  • Comente session optional pam_lastlog.so e session optional pam_motd.so em /etc/pam.d/login . ( Sem efeito . O teste com ssh mostra o MOTD e o "Último login:".)

  • Criando o arquivo .hushlogin no cliente usando touch ~/.hushlogin . ( Nenhum efeito .)

Estou sem ideias. Onde mais essa mensagem "Último Login:" pode vir e como ela pode ser desativada (de preferência apenas para sftp e não para ssh logins, mas, imagino como sftp usa ssh , a mensagem é vai estar lá para ambos ou nenhum)?

    
por Omid 19.04.2014 / 12:41

4 respostas

1

Um erro de digitação de minha parte foi a causa do comportamento irracional que eu estava experimentando acima. É /etc/ssh/sshd_config (correspondente ao daemon ssh ) que deve ser editado, não /etc/ssh/ssh_config (correspondendo ao ssh client). Deixo esta questão aqui caso possa ajudar alguém.

    
por 23.05.2014 / 21:02
0

Eu deletei / var / log / lastlog e a mensagem "Último login" foi perdida para sempre. Trabalhei com todas as distros que testei: Ubuntu e SUSE.

Como cheguei a essa ideia?

which login
strings /bin/login | grep last
    
por 19.04.2014 / 21:24
0

Para filtrar o / etc / motd nos scripts que eu uso (este exemplo é para o programa git)
git pull 2>&1 | grep -vF -f ~/bin/remote.motd | egrep -v "^$|^ $"
O arquivo ~ / bin / remote.motd é um copy-paste do arquivo fornecido pelo sistema remoto.

    
por 23.05.2014 / 09:32
0

No meu sistema, veio de Pam.

/etc/pam.d/postlogin para ser exato.

Eu me livrei da mensagem comentando as linhas existentes e adicionando:

session     optional      pam_lastlog.so silent
    
por 21.09.2016 / 22:43