SFTP-Schnittstelle zu Scp

7

Ich habe einen Linux-basierten Router, auf dem der SFTP-Server nicht installiert ist. Genauer gesagt, wenn ich sftp user@ipaddresseine sh: /user/libexec/sftp-server: not foundFehlermeldung erhalte . Mein Interesse besteht nicht darin, diesen Fehler durch die Installation eines neuen Pakets zu beheben ("Distribution" ist spezifisch für den Router, und ich bin nicht daran interessiert, ihn zu ändern).

Was mich interessiert, ist die Suche nach einem Befehlszeilenprogramm, das wie sftp funktioniert, aber scp als Übertragungsmechanismus verwendet.

Jordan S. Jones
quelle

Antworten:

8

Sie können verwenden fish(Dateien über das Shell-Protokoll übertragen). Es gibt verschiedene Client-Implementierungen, aber keine erfordert Serverunterstützung über reguläres SSH hinaus.

Matthew Flaschen
quelle
Genau das habe ich gesucht. Vielen Dank!
Jordan S. Jones
hmm eine idee wie ich das in ubuntu installieren kann? Wenn ich nach dem Paket suche, finde ich "Eine freundliche interaktive Shell. Fish ist eine Shell, die auf interaktive Verwendung ausgerichtet ist. Ihre Funktionen konzentrieren sich auf Benutzerfreundlichkeit und Auffindbarkeit. Die Sprachsyntax ist einfach, aber nicht mit anderen Shell-Sprachen kompatibel." Ist das derjenige, von dem du sprichst?
Phunehehe
3
@Phunehehe - Nein, das ist nicht der, über den er spricht. Was er meint, ist ein Protokoll. Einige Anwendungen implementieren es, andere nicht. Für mein Szenario habe ich zufällig das lftpProgramm verwendet. lftp fish://[email protected].
Jordan S. Jones
3

Ich benutze dafür Veam Fast SCP . Es ist sehr praktisch, wenn Sie mit ESXi arbeiten, da nur scp aktiviert ist, aber auch alle scp-fähigen Computer.

Matt Simmons
quelle
1

Vielleicht bin ich verwirrt, aber was meinst du mit "sftp like interface"? Holen Sie sich einfach Dateien mit scp über die Befehlszeile.

Um die Datei foo über die Befehlszeile auf Ihrem Linux-Host zu platzieren, wird angenommen, dass 'Benutzername' als Benutzer auf dem Router vorhanden ist:

$scp foo username@router:~

Dadurch wird die Datei foo in das Home-Verzeichnis des Benutzernamens kopiert.

Um eine Datei vom Router abzurufen, wird davon ausgegangen, dass sich die Datei im Ausgangsverzeichnis des Benutzers 'Benutzername' befindet:

$scp username@router:~/foo .

Dadurch wird die Datei foo vom Router in das Verzeichnis kopiert, in dem Sie sich befinden, wenn Sie den Befehl ausführen.

Ich hoffe ich habe deine Frage richtig verstanden.

Viel Glück.

wmat
quelle
1
Was ich damit sagen wollte, ist die SFTP-Schnittstelle, über die Ihre Befehle "cd", "ls" usw. auf dem Remote-Server ausgeführt werden, sodass Sie Dateien abrufen / ablegen können, ohne jedes Mal explizit jeden Pfad eingeben zu müssen.
Jordan S. Jones
1

Ein Client-Programm wie filezilla kann dies auch ... der von Ihnen angegebene Verbindungstyp ist 'sftp', was irreführend ist, da es eigentlich keinen sftp-Server erfordert, sondern nur ssh-Zugriff auf einen Computer.

gabe.
quelle
Ja, meine Frage war nicht so spezifisch, wie sie hätte sein sollen. Dies ist eine Erkenntnis, die sehr schnell eingetreten ist, als ich anfing, StackOverflow und ähnliche Websites zu verwenden :( Für meine spezielle Situation, während ich sftp [email protected]mich in einer Shell sh: /user/libexec/sftp-server: not foundbefinde und tippe, erhalte ich jedoch einen Fehler. Filezilla ist ein fantastischer Vorschlag, aber ich suchte nach einem Kommandozeile "Schnittstelle". Ich werde die Frage entsprechend aktualisieren.
Jordan S. Jones
Keine Sorge. Es ist cool, etwas über Fisch zu lernen ... hatte das noch nie gesehen.
gabe.
1

Sie können Midnight Commander verwenden, ein Befehlszeilenprogramm. Es kennt SCP, FTP, ist kostenlos und befindet sich wahrscheinlich im Paketmanager Ihrer Distribution.

Installieren Sie es unter Debian / Ubuntu mit:

apt-get install mc -y

Führen Sie es aus mit:

mc

Hit F10 Enterzu Ausfahrt

MIrra
quelle