Dies ist eine Neufassung von Dchirikovs Antwort mit Links und einem Howto.
Obwohl alte Manpages darauf hinzudeuten scheinen, dass dies einmal der Fall war, scheint es, dass ncftp die .netrc
Datei seit einiger Zeit nicht mehr unterstützt . Die neueste offizielle Manpage erwähnt dies nicht. Ich fand einen Debian-Fehlerbericht aus dem Jahr 2002 über den Mangel an Unterstützung. Der ncftp-Entwickler (Mike Gleason) antwortete mit:
Die .netrc
Datei hat wenig mit der Konfigurationsdatei von ncftpput zu tun, die genau einen Satz von Anmeldeinformationen enthalten kann. Durch das ordnungsgemäße Parsen eines
.netrc
Codes wird der Code ohne greifbaren Vorteil aufgebläht, da Sie ihn nicht mit ncftpput verwenden können, ohne ihn zu bearbeiten.
Ich denke, man kann mit Sicherheit sagen, dass der .netrc
Support absichtlich entfernt wurde und nicht so bald zurückkehren wird.
Der ncftp-Weg, um eine kennwortlose Anmeldung / Übertragung zu erreichen, besteht darin, ein Lesezeichen zu erstellen. Es ist ziemlich einfach:
$ ncftp -u username ftp.example.com
[...]
Password requested by [host IP address] for user "username".
User username okay, need password.
Password:
Dann geben Sie das Passwort ein und Sie sind dabei. Sie sollten den Begrüßungstext des Servers erhalten und:
Restricted user logged in.
Logged in to ftp.example.com.
ncftp / >
Geben Sie an der Eingabeaufforderung ein bookmark
. Sie werden aufgefordert, dem Lesezeichen einen Namen zu geben (der Vorschlag ist example
in unserem Beispiel eine nützliche Version des Hostnamens ) und zu bestätigen, dass Sie das Kennwort speichern möchten.
Wenn Sie ncftp
die Datei beenden und durchsuchen ~/.ncftp/bookmarks
, wird eine Zeile für Ihren Host mit dem Lesezeichennamen, dem Hostnamen, dem Benutzernamen und dem Kennwort angezeigt. Das Passwort wird in einer verschlüsselten Form gespeichert, die wahrscheinlich nicht vollständig sicher ist, aber zumindest sicherer als Klartext, wie er in der .netrc
Datei enthalten ist.
Mach jetzt:
$ ncftp example
[...]
Restricted user logged in.
Logged in to ftp.example.com.
ncftp / >
Und da bist du ja. Die Lesezeichen eignen sich auch für die Put / Get-Versionen von ncftp. Zum Beispiel,
$ ncftpput example destdir file
Wird file
auf den Server ftp.example.com
im Verzeichnis setzen destdir
.