In Ubuntu GNU / Linux 12.04 habe ich einen Benutzer johndoe
, der Teil einer sftponly
Gruppe ist und sftp
mit einem chroot
Gefängnis eingerichtet wurde
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
am Ende von /etc/ssh/ssh_config
. Alle Komponenten des Benutzerverzeichnisses home
sind root
eigene Verzeichnisse, die von keinem anderen Benutzer oder keiner anderen Gruppe beschrieben werden können, wie in man sshd_config
(unter ChrootDirectory
) erläutert . In seinem chroot
Gefängnis befindet sich ein beschreibbares Verzeichnis 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
(Einstellen der Schale /bin/false
nicht funktioniert entweder mit ssh
oder sftp
. Mit nologin
wie die Shell - ssh
Verbindung herstellt, zeigt „MOTD“, und dann trennt, die das erwartete Verhalten ist.)
Aber sftp
nicht mit der Meldung Received message too long 1416128883
. Ich weiß, dass dieser Fehler durch "MOTD" (Message Of The Day) verursacht wird, da sftp
ein "sauberes Login" erwartet wird. Ich habe versucht, alle "MOTD" -Teile auf dem Server wie folgt zu deaktivieren : ( diese Ergebnisse ):
Hinzufügen
PrintLastLog no
undPrintMotd no
bis zum Ende/etc/ssh/ssh_config
und Neustartssh
mitrestart ssh
. ( Kein Effekt . Beim Testen mitssh
werden sowohl "MOTD" als auch "Last Login:" angezeigt.)Auskommentieren
session optional pam_motd.so
in/etc/pam.d/sshd
. ( Verhindert MOTD . Es gibt jedoch keinen entsprechenden Eintrag für "LastLog". Das Testen mitssh
"Last Login:" wird weiterhin angezeigt undsftp
schlägt daher immer noch fehl .)Auskommen
session optional pam_lastlog.so
undsession optional pam_motd.so
in/etc/pam.d/login
. ( Kein Effekt . Beim Testen mitssh
werden sowohl MOTD als auch "Last Login:" angezeigt.)Erstellen der
.hushlogin
Datei auf dem Client mittouch ~/.hushlogin
. ( Kein Effekt .)
Ich habe keine Ideen mehr. Wo sonst kann diese „Letzte Anmeldung:“ Nachricht von kommen und wie kann sie deaktiviert werden ( im Idealfall nur für sftp
und nicht für ssh
Anmeldungen, aber ich stelle mir vor , wie sftp
Anwendungen ssh
, wird die Nachricht da sein entweder für beide oder keine)?
Antworten:
Ein Tippfehler meinerseits war die Ursache für das unvernünftige Verhalten, das ich oben erlebte. Es muss
/etc/ssh/sshd_config
(entsprechend demssh
Daemon) bearbeitet werden, nicht/etc/ssh/ssh_config
(entsprechend demssh
Client). Ich lasse diese Frage hier, falls sie jemand anderem helfen könnte.quelle
PrintLastLog yes
umno
statt. Ich bin nicht sicher, was diese Einstellung sonst noch ändern könnte, aber die Nachricht wird nicht mehr gedruckt.Ich habe / var / log / lastlog gelöscht und die Nachricht "Last login" war für immer verschwunden. Arbeitete mit allen Distributionen, die ich getestet habe: Ubuntu und SUSE.
Wie bin ich auf diese Idee gekommen?
quelle
lastlog
auf dem Server unbrauchbar wird.Zum Filtern von / etc / motd in Skripten, die ich verwende (dieses Beispiel ist für das Programm git).
git pull 2>&1 | grep -vF -f ~/bin/remote.motd | egrep -v "^$|^ $"
Die Datei ~ / bin / remote.motd ist ein Copy-Paste der vom Remote-System angegebenen Motd.
quelle
Auf meinem System kam es von Pam.
/etc/pam.d/postlogin
um genau zu sein.Ich habe die Nachricht entfernt, indem ich die vorhandenen Zeilen auskommentiert und hinzugefügt habe:
quelle