Custom motd para um usuário específico após o login via SSH?

4

Eu quero executar o script no logon inicial por meio do SSH que exibe algumas informações úteis para o usuário que está efetuando login. No entanto, não quero que esse script seja executado em todos os login. Ou seja, se o usuário iniciar screen após o login, o "motd" personalizado não deverá ser executado novamente (nem se telas subsequentes forem criadas). Em particular, o script precisará que o ENV final do usuário funcione corretamente. Isso é possível? Se sim, como vou fazer isso?

    
por James Sumners 12.09.2011 / 20:25

2 respostas

2

Como descrito neste segmento ALE , é possível usar o% do usuário arquivo${HOME}/.ssh/rc para essa finalidade. A página do manual , na seção SSHRC, declara explicitamente que você não deve escrever para stdout através deste arquivo rc, mas o seguinte script irá funcionar:

#!/bin/bash
if [ ! -t 1 ]; then
    # This is scp, sftp, a port forward, or something else
    exit
fi

# Use stderr like the manpage tells you to do
exec 1>&2

echo -e "This is output to stdout via the ${HOME}/.ssh/rc file.\n"
    
por 14.09.2011 / 21:42
3
A diretiva

PrintMotd não é permitida dentro de um bloco Match . Se tudo que você quiser é exibir algumas informações úteis para um usuário específico quando ele fizer login, Banner directive poderá fazer isso:

Match User <special_user>
    Banner /etc/ssh/banner.txt
    
por 13.09.2011 / 06:14

Tags