it-swarm.com.de

SSH-Konsolenanmeldung funktioniert, SFTP jedoch nicht. Warum?

Ich versuche, SFTP mit Filezilla zu erstellen, aber es kann keine Verbindung zum Server hergestellt werden. Ich denke, dies liegt an meinen Firewall-Regeln.

Ich kann SSH absolut gut. Der Port für SSH ist 6128. Kann mir jemand sagen, welche Änderungen ich vornehmen müsste, um eine FTP-Verbindung über SSH zuzulassen, da SSH bereits funktioniert?

(Hier sind meine IPtables-Regeln)

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports ssh
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             loopback/8           reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     udp  --  anywhere             anywhere             udp dpt:9987
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:10011
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:30033
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:6128
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
DROP       all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

Chain fail2ban-ssh (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
17
tentimes

Um von anderen Hosts auf Ihr SFTP zuzugreifen, stellen Sie bitte sicher, dass Folgendes ordnungsgemäß installiert und konfiguriert ist.

  • Installierte OpenSSH-Server
  • Konfiguriert sshd_config
    • PubkeyAuthentication ja
    • Subsystem sftp internal-sftp
  • Ihr öffentlicher Schlüssel wurde zu ~/.ssh/authorized_keys hinzugefügt

  • Starten Sie den SSH-Server mit geöffnetem Port 22/TCP # /etc/init.d/sshd start

  • # iptables -I INPUT -j ACCEPT -p tcp --dport 22

Testen Sie abschließend $ sftp <login>@<hostname>

10
OMG-1

In meinem Fall hatte der Benutzer zsh oben in seiner .bashrc-Datei, damit er in zsh Shell anstatt in bash fallen konnte.

bash war seine Standard-Shell. Das Entfernen dieses Problems löste das Problem. Ich habe dann chsh user -s /bin/zsh, damit der Benutzer zsh als Standard-Shell beibehält.

2

Haben Sie Text in der Konsole (z. B. Echoanweisungen) in einer Ihrer .profile-Dateien wie .bashrc? Dies kann die SFTP-Konnektivität beeinträchtigen. Siehe meine Antwort auf eine ähnliche Frage zu Serverfault

1
Paulus

Ihre Antivirensoftware kann dies ebenfalls verursachen. Wir haben es vor kurzem konfrontiert. ssh über PuTTY funktionierte einwandfrei, aber WinSCP konnte keine Verbindung herstellen. Die Arbeit begann, sobald eine Ausnahme im Anti-Virus konfiguriert wurde.

1
Sibil

Meine Antwort auf eine ähnliche Frage zu Serverfehler :

Ich bin gerade auf dieses Problem gestoßen (speziell für SFTP, aber nicht für SSH, wo ich ohne Probleme eine Verbindung herstellen konnte) und keine der Lösungen hier hat für mich funktioniert. In meinem Fall lag es daran, dass in ~/.ssh/ Zu viele SSH-Schlüssel (IdentityFiles) vorhanden waren. Es scheint, dass wenn Sie keinen Host-Eintrag in ~/.ssh/config Für den Host haben, zu dem Sie eine Verbindung mit dem richtigen Schlüssel herstellen möchten, alle Ihre Schlüssel einzeln gesendet werden. Ich hatte mehr als 6 Schlüssel und sicher ist der Standardwert MaxAuthTries 6 (zumindest in Ubuntu).

Die Lösung bestand darin, den /etc/ssh/sshd_config Des Servers zu bearbeiten und MaxAuthTries zu erhöhen. Ich habe meine auf 10 gesetzt.

#MaxAuthTries 6
MaxAuthTries 10

(Oder fügen Sie einfach einen Host-Eintrag mit dem richtigen Schlüssel hinzu. In diesem speziellen Fall versuche ich, mich ohne Verwendung eines Schlüssels anzumelden.).

0
insaner

Wenn Sie Filezilla verwenden, hat mir die folgende Antwort geholfen:

https://www.digitalocean.com/community/questions/able-to-access-via-ssh-but-not-filezilla

Wählen Sie in Filezilla im Menü Bearbeiten-> Einstellungen. Erweitern Sie im linken Bereich zu Verbindung-> SFTP. Stellen Sie auf der rechten Seite sicher, dass Sie die richtige private Schlüsseldatei haben, oder fügen Sie hinzu, wenn der richtige Eintrag fehlt.

Melden Sie sich über die DO-Webkonsole als root an und führen Sie 'tail -f /var/log/auth.log' aus. Versuchen Sie dann, sich mit Filezilla anzumelden und alle Nachrichten zu notieren.

0
Ulad Kasach