Ich hatte dieses Problem und das Update bestand darin, "UsePAM yes" über der Zeilengruppe "Subsystem sftp internal-sftp" zu platzieren. Starten Sie ssh neu und es hat ganz schön funktioniert.
Chroot-SSH-Benutzer zum Basisordner führt zur Ablehnung der Verbindung
Ich versuche, jemandem einen SSH-Zugriff auf einen Server (Ubuntu 14.04) zu geben, den ich habe, aber ich möchte ihn auf seinen eigenen Home-Ordner beschränken. Also versuche ich, diesem Tutorial zu folgen .
Ich habe zuerst einen Benutzer ( sudo adduser jailuser
) erstellt, der es ermöglicht, sich mit Jailuser anzumelden. Dann fuhr ich mit dem Versuch fort, den Benutzer ins Gefängnis zu stecken, und fügte hinzu /etc/ssh/sshd_config
(und ssh neu gestartet):
Subsystem sftp internal-sftp Match Group sftp ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no
Ich habe dann die Gruppe sftp erstellt:
sudo groupadd sftp
und führte die folgenden Befehle aus, um den Jailuser zu ändern:
sudo usermod -G sftp jailuser sudo usermod -s /bin/false jailuser sudo chown root:root /home/jailuser sudo chmod 0755 /home/jailuser
Das Ergebnis ist, dass ich nicht mehr anmelden können: ssh: connect to host xx.xxx.xx.223 port 22: Connection refused
.
Da ich eine Art Neuling mit Servermanagement bin, bin ich hier verloren. Weiß jemand, was ich falsch mache? Alle Tipps / Tricks sind willkommen!
2 Antworten auf die Frage
Ich sehe nichts offensichtlich falsch mit den sshd_config
Zeilen, die Sie gepostet haben. Es scheint, dass es hier drei Möglichkeiten gibt:
- Nichts ist wirklich falsch,
sshd
muss aber gestartet werden. sshd
ist in der Lage zu laufen, hört jedoch nicht auf die richtige IP-Adresse oder den richtigen Port.- Etwas verhindert den
sshd
Start.
Für all das Folgende müssen Sie sich root
auf dem SSH-Serverhost befinden.
Führen Sie für (1) etwas wie "ps -fe | grep sshd" aus, um zu sehen, ob sshd
es läuft oder nicht. Wenn nicht, starten Sie den SSH-Server. Auf Ubuntu führen Sie Folgendes aus:
/etc/init.d/ssh restart
Wenn sshd
läuft, fahren Sie mit (2) fort. Suchen Sie sshd_config
nach den ListenAddress- oder Port- Direktiven. Diese steuern, an welcher IP-Adresse und an welchem Port der Server Verbindungen überwacht. In den meisten Fällen würden Sie diese Kommentare auslassen (um die Standardwerte zu verwenden) oder auf 0.0.0.0 bzw. 22 setzen.
Wenn Sie versucht haben, zu starten sshd
und nicht ausgeführt werden, checken Sie zunächst die Protokolldateien /var/log
auf Nachrichten von sshd
. Sie können angeben, welches Problem es hat. Wenn dies nicht der Fall ist, können Sie das sshd
Debugging interaktiv ausführen :
/usr/sbin/sshd -ddd # Listen on the default port 22 /usr/sbin/sshd -ddd -p 1022 # Listen on port 1022
sshd
bleibt mit Ihrem Terminal verbunden und druckt eine Reihe von Debugging-Informationen. Wenn es aus irgendeinem Grund nicht weiterlaufen kann, sollte es Ihnen sagen, warum.
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
8
Laptop Standby unter Linux / Ubuntu
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
1
Wie kann ich von Ubuntu aus über das Netzwerk auf Windows Vista-Drucker zugreifen?
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
3
Kann ich Microsoft Office 2007 unter Ubuntu ausführen?