Como alterar o formato da data do motd

1

Toda vez que eu ssh no meu servidor, o servidor imprime a data e hora do último login. Mas eu não gosto do formato. Por ex:

Last login: Sun Jan 31 12:12:13 2016 from 127.0.0.1

Eu quero desabilitar a mensagem (na configuração) e, em vez disso, altero sua localização para o motd (cabeçalho 00). Como eu posso fazer isso? Exemplo de como deve ser:

Last login: 2016-01-31 12:12:13 from 127.0.0.1
    
por Avamander 01.02.2016 / 15:01

1 resposta

2

Como mostrado na pergunta relacionada no serverfault, Como edito a mensagem “último login” do SSH? , a própria linha é construído no binário /usr/sbin/sshd . Assim, para editá-lo, seria necessário editar o código fonte e recompilá-lo, o que é um pouco mais incômodo e mais trabalho do que o necessário

Confirmando os resultados encontrados na questão de falha do servidor

DIR:/xieerqi
skolodya@ubuntu:$ file /usr/sbin/sshd                                          
/usr/sbin/sshd: ELF 64-bit LSB  shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=b0aaeed8d674586459d21eb2d548a848c33de3a9, stripped

DIR:/xieerqi
skolodya@ubuntu:$ strings /usr/sbin/sshd | grep -i "last login"                
Last login: %s
Last login: %s from %s

Você pode, no entanto, informar sshd para não imprimir a mensagem do dia e o último login (conforme esta resposta )

Abra o arquivo /etc/ssh/sshd_config com qualquer editor, certifique-se de usar o editor de linha de comando, use sudo e se editor de GUI - gksu , por exemplo

  sudo vi /etc/ssh/sshd_config

Anexe as seguintes linhas

PrintMotd no
PrintLastLog no

Você pode colocar a seguinte função no seu arquivo $HOME/.bashrc no topo

function ssh_login_date
 {
 if [ ! -z "$SSH_CLIENT" ]; then
   printf "Last login %s from %s \n" "$( date +%F" "%H":"%M":"%S  )" "$(echo $SSH_CLIENT|  awk '{print }' )"
 fi
}

E chame a função no final do arquivo

ssh_login_date
    
por Sergiy Kolodyazhnyy 01.02.2016 / 16:02