Filezilla oder WinSCP Alternative für Ubuntu

12

Unter Windows verwende ich FileZilla zum Hochladen / Herunterladen von Dateien auf meiner WordPress-Website über SFTP unter Verwendung des SSH-Schlüssels.

Jetzt ist Linux mein primäres Betriebssystem. Im letzten Monat hat der FileZilla-Client unter Ubuntu 16.04 einwandfrei funktioniert, aber jetzt stürzt er ab, wenn ich ihn starte. Ich habe im Internet gesucht und festgestellt, dass es bei vielen Nutzern passiert. Leider hat der FileZilla-Support nur eine Antwort, wenn wir ihn fragen:

Ubuntu 16.04 ist ein altes Betriebssystem, verwenden Sie 17.10 oder die neueste Debian-Version.

Ich möchte nicht 17.10 verwenden. Ich suche also nach einer FileZilla-Client-Alternative für Linux, die ich als SFTP-Client mit SSH-Schlüssel verwenden kann.

Ich habe gFTP gefunden (das ist ein altes Programm und ich bin nicht sicher, wie sicher es ist?). Ich habe auch festgestellt, dass ich mit dem Ubuntu-Dateimanager eine Verbindung zu meinem Server herstellen kann. Ist das eine gute Idee, eine Verbindung zum Server herzustellen, während Sie Nautilus oder Caja verwenden?

Eigentlich möchte ich meinen Benutzernamen / Passwort nicht in das Dialogfeld eingeben, das erscheint, wenn ich auf Datei> Mit Server verbinden klicke, sondern meinen .ppkSchlüssel verwenden. Wie kann ich das in Nautilus oder Caja hinzufügen?

ShahMoeen
quelle
Ich möchte nur meine Frage weiter klären. Eigentlich möchte ich meinen Benutzernamen / mein Passwort nicht in das Dialogfeld eingeben, das angezeigt wird, wenn ich auf Datei> Mit Server verbinden klicke, sondern stattdessen den PPK-Schlüssel verwenden möchte. Wie kann ich das in Nautilus oder Caja hinzufügen?
ShahMoeen
1
Was ist los mit der Version im 16.04 Repo?
RonJohn
2
Es ist eher Ubuntu als die Filezilla-Entwickler, die den Zweig von Filezilla für 16.04 pflegen. Daher ist es eine Selbstverständlichkeit, dass die Filezilla-Entwickler Sie lediglich zum Upgrade auffordern, da sie nicht dafür verantwortlich sind, wie sich die Version in Ubuntu 16.04 verhält. Versuchen Sie, Filezilla über ein Terminalfenster zu öffnen. Wenn es abstürzt, wird möglicherweise eine Fehlermeldung oder eine Ablaufverfolgung in der Konsole angezeigt. Vergleichen Sie diese mit den in Filezilla gemeldeten Fehlern, und erstellen Sie gegebenenfalls einen neuen Bericht.
Thomasrutter
2
es ist ein Wunder, wie Ubuntu bequem alte Versionen bremst, die ppl zu einem Upgrade zwingen; Aber das ist es, was Sie von einer blutenden Kante / Instabilität bekommen. Sie bekommen alle 6 Monate einen Kopfstoß mit einem Baseballschläger. Versuchen Sie, ein Downgrade von filezila
user688056

Antworten:

14

Mit Nautilus

Sie können die Option Connect to Serverin Nautilus verwenden, wie auf dem nächsten Bild gezeigt.

Bildbeschreibung hier eingeben

  1. Das erste Beispiel - sftp://victoria-pass/home/tri- verwendet einen vordefinierten aufgerufenen Hostvictoria-pass und stellt das home/Verzeichnis des aufgerufenen Remote-Benutzers bereit tri.

    Um diesen Ansatz zu verwenden, müssen Sie die Konfigurationsdatei des Benutzers für den lokalen ssh-Client erstellen. Die Datei muss aufgerufen werden , configin dem Verzeichnis und platziert .ssh/in Benutzer zu Hause: ~/.ssh/config. Entsprechend dem Beispiel sollte der Inhalt der Datei sein:

    Host victoria-pass             # this is as 'nickname' of the connection
        HostName victoria.org      # or use the IP address
        IdentityFile ~/.ssh/id_rsa # or provide the fill path to another key
        User tri                   # use the actual name of the remote user
        Port 1111                  # provide the actual port of the remote server
        # other parameters...
    
    # setup each another Host in the same way...        

    Ändern Sie die Dateiberechtigungen:

    chmod 600 ~/.ssh/config
    

    Außerdem sollten Sie jetzt in der Lage sein, eine Verbindung zu jedem dieser Hosts über einen Befehl wie folgt herzustellen:

    ssh victoria-pass
    
  2. Das zweite Beispiel - sftp://[email protected]:1111/home/tri- zeigt, wie eine Verbindung zu einem Remote-SSH-Server (SFTP) hergestellt wird, ohne dass eine vordefinierte ~/.ssh/configDatei mit einem benutzerdefinierten SSH-Port verwendet wird.

    Der Hauptvorteil dieses Ansatzes besteht darin, dass Sie, wenn die Authentifizierungsdatei nicht vorhanden ~/.ssh/id_rsaist, sie im Voraus durch den Befehl bereitstellen sollten ssh-add. Zum Beispiel, wenn die Authentifizierungsdatei aufgerufen wird file.pem:

    ssh-add /full/path/to/the/authentication/file.pem 
    

    Ich denke, Sie sollten dies jedes Mal tun, wenn Sie den lokalen Computer neu starten, oder Sie sollten den obigen Befehl in die ~/.profileDatei aufnehmen.


Verwendung von gFTP

Hier sind die Schritte zum Einrichten von gFTP für die Verwendung von SSH-Schlüsseln.

Bildbeschreibung hier eingeben

  1. Klicken Sie im FTP-Menü auf Einstellungen .

  2. Gehen Sie zur Registerkarte SSH .

  3. Füllen Sie das Feld SSH Extra Params mit diesem Wert:

    -o IdentityFile=/home/<your user>/.ssh/id_rsa
    

    Ändern Sie <user name>mit Ihrem echten Benutzernamen . Oder benutze:

    -o IdentityFile=~/.ssh/id_rsa
    
  4. Im Hauptfenster von gFTP wählen Sie SSH2 als Verbindungstyp;

  5. Geben Sie den Zielhostnamen oder die IP- Adresse ein.

  6. Richten Sie den SSH- Port des Zielcomputers ein (falls dies nicht der Standard ist - 22).

  7. Geben Sie Benutzer für die SSH-Verbindung ein.

  8. Geben Sie Ihre SSH - Schlüssel des Pass Phrase (wenn es etwas ist);

  9. Hit Enter.


Verwendung von SSHFS

Sie können ein Remote-Verzeichnis (oder das gesamte Dateisystem) über das Befehlszeilentool bereitstellen sshfs. Dann können Sie es "lokal" manipulieren, wie Sie möchten. Das ist mein bevorzugter Weg. Nehmen wir an, das ~/mountMount- Verzeichnis ist und Sie möchten das Home-Verzeichnis des Remote-Benutzers mounten:

sshfs [email protected]:/home/<user> /home/<local-user>/mount/

Oder wenn Sie eine ~/.ssh/configDatei erstellt haben :

sshfs host-name:/home/<remote-user> /home/<local-user>/mount/

Zusätzlich können Sie auch /etc/fstabEintragsreferenzen anlegen:


Konvertieren Sie den PPK-Schlüssel

Bitte beachten Sie, dass Sie den PPK- Schlüssel, der PuTTY Private Key bedeutet , konvertieren sollten, wenn Sie ihn bereits verwendet haben , da die oben genannten Tools im Gegensatz zu CloneZilla dieses Format nicht lesen können. Zu diesem Zweck sollten Sie das Tool verwenden puttygen, das Bestandteil des Pakets ist putty-tools:

sudo apt install putty-tools

Jetzt können Sie den Schlüssel folgendermaßen konvertieren:

puttygen input-key-filename.ppk -O private-openssh -o output-key-filename.pem

Vielen Dank an @steeldriver für diesen Hinweis. Hier ist die Quelle und einige zusätzliche Referenzen:


Nach Angaben der Sicherheit

Während alle Ansätze dieselbe Verbindungsmethode verwenden - SSH - sollte die von ihnen bereitgestellte Sicherheit gleichwertig sein. Aus Wikipedia :

Secure Shell (SSH) ist ein kryptografisches Netzwerkprotokoll zum sicheren Betreiben von Netzwerkdiensten über ein ungesichertes Netzwerk. SSH bietet einen sicheren Kanal über ein ungesichertes Netzwerk in einer Client-Server-Architektur, wobei eine SSH-Client-Anwendung mit einem SSH-Server verbunden wird.

Die von SSH verwendete Verschlüsselung soll die Vertraulichkeit und Integrität von Daten in einem ungesicherten Netzwerk wie dem Internet gewährleisten. SSH verwendet die Public-Key-Kryptografie, um den Remote-Computer zu authentifizieren, und ermöglicht es ihm, den Benutzer bei Bedarf zu authentifizieren.

Eine Möglichkeit besteht darin, automatisch generierte öffentlich-private Schlüsselpaare zu verwenden, um eine Netzwerkverbindung einfach zu verschlüsseln, und sich dann mit der Kennwortauthentifizierung anzumelden ...

Eine andere Möglichkeit besteht darin, ein manuell generiertes öffentlich-privates Schlüsselpaar für die Authentifizierung zu verwenden, sodass sich Benutzer oder Programme anmelden können, ohne ein Kennwort angeben zu müssen. In diesem Szenario kann jeder ein passendes Paar verschiedener Schlüssel (öffentlich und privat) erstellen ...

pa4080
quelle
Danke für Ihre Antwort. Eigentlich möchte ich meinen Benutzernamen / mein Kennwort nicht in das Dialogfeld eingeben, das angezeigt wird, wenn ich auf Datei> Mit Server verbinden klicke. Stattdessen möchte ich den PPK-Schlüssel verwenden. Wie kann ich das in Nautilus oder Caja hinzufügen?
ShahMoeen
@ ShahMoeen, ich bin fertig.
pa4080
2
@ ShahMoeen finden Sie unter Konvertieren von Filezilla PPK in einen OpenSSH-SFTP-kompatiblen Schlüssel . Alternativ, wenn Sie immer noch Zugriff auf Windows haben, können Sie PuTTYs .ppk in SSH-Schlüssel
konvertieren
Vielen Dank an pa4080 für Ihre freundliche und ausführliche Antwort. Ich habe jeden Schritt, den du fragst, mit gFTP gemacht, aber leider hat es nicht funktioniert. Auf dem Hauptbildschirm von gFTP wurde nach der Eingabe von Host-, Port- und Benutzerdetails durch Drücken der Eingabetaste die Verbindung hergestellt, aber dies endete nie. Unten ist zu sehen, dass es bei "Protocol Initialization"
ShahMoeen
@steeldriver vielen dank, endlich habe ich es mit gFTP geschafft. Vielen Dank an alle für Ihre Hilfe, BTW werden Sie Leute mich wissen lassen, welche Methode Sie verwenden und warum?
ShahMoeen