SSH nur auf SFTP beschränken?

2188
Cheetah

Ich verwende SSH-Schlüssel, um kennwortlose Anmeldungen an meiner Box zuzulassen. Ich möchte sie nur auf SFTP beschränken.

Ich habe folgendes in meiner authorized_keysDatei, die zu funktionieren scheint:

command="internal-sftp" ssh-rsa ...

Ich scheine keinen Weg zu finden, aber ich bin kein Genie ... bin ich eigentlich sicher?

0
Erlauben Sie überhaupt eine Passwortauthentifizierung? Aaron Miller vor 10 Jahren 0
Nein ... niemand kennt das Passwort. Cheetah vor 10 Jahren 0
Das habe ich nicht gefragt. Ist in / etc / ssh / sshd_config oder gleichwertig `PasswordAuthentication` auf` yes` oder auf `no` gesetzt? Aaron Miller vor 10 Jahren 0
@AaronMiller auf "yes" gesetzt, aber ich kann das aus der Datei "authorised_keys" setzen, obwohl ich das nicht kann? Cheetah vor 10 Jahren 0
Sieht aus der Dokumentation nicht so aus, nein. Ich würde es in sshd_config ausschalten; Wenn Sie den erzwungenen Befehl in Authorized_keys festlegen, gilt er nur für Verbindungen, die mit diesem Schlüssel authentifiziert werden. Wenn Sie die Kennwortauthentifizierung aktiviert haben, wird bei der Anmeldung mit dem Kennwort wie üblich eine Shell erzeugt. Daher kann (z. B.) jemand, der einen erfolgreichen Wörterbuchangriff ausführt, Sie ziemlich schlecht machen. Aaron Miller vor 10 Jahren 0
@AaronMiller ach ja, das ist bei diesem Konto nicht der Fall, da man sich nur mit dem Schlüssel anmelden kann. Es ist ein Passwort-Konto (in dem niemand das Passwort kennt) Cheetah vor 10 Jahren 0
Viel bessere Methoden, die detailliert auf SF beschrieben werden: http://serverfault.com/q/354615/28549 Ben Voigt vor 9 Jahren 1

3 Antworten auf die Frage

1
Daniel

nicht wirklich. Man kann einfach die authorized_keys-Datei herunterladen, bearbeiten und den Befehl command = "internal-sftp" entfernen, und es über Ihr und dann ssh in die Box hochladen.

Ja, die Schale muss auch ausgetauscht werden, das Chroot-Gefängnis ist auch eine gute Praxis. Auch das Weiterleiten kann eine Schwachstelle sein. http://serverfault.com/a/354618/28549 Ben Voigt vor 9 Jahren 1
1
leberknecht

Ich denke, der beste Weg, dies zu konfigurieren, wäre es ForceCommand internal-sftp, den spezifischen Benutzerabschnitt hinzuzufügensshd_config

Subsystem sftp internal-sftp  Match User MyUser PasswordAuthentication no ChallengeResponseAuthentication no ForceCommand internal-sftp ChrootDirectory /home/MyUser 
0
Martin Prikryl

Sie sollten das Kennwort auch besser aus dem Konto entfernen (unabhängig davon, dass "niemand das Kennwort kennt" ).

passwd --delete username 

Abgesehen davon scheint Ihre Lösung in Ordnung zu sein.

Entschuldigung, ich hätte es klarer machen sollen. Es ist bereits ein Passwort-Konto. Cheetah vor 10 Jahren 0
Ein kennwortloses Konto ist ein Konto, für das kein Login erforderlich ist. Ein deaktiviertes Passwort ist etwas anderes. SEI GEWARNT! EnzoR vor 6 Jahren 0