Ncftp

ncftp 沒有調查 .netrc

  • January 9, 2019

我有這樣的節在我的.netrc

machine ftp.mydomain.com
       login mylogin 
       password mypassword

雖然我可以成功連接ftp

ftp ftp.mydomain.com

並將憑據傳遞給ncftp

ncftp -umylogin -pmypassword ftp.mydomain.com

我只使用這個ncftp ftp.mydomain.com

NcFTP 3.2.4 (May 16, 2010) by Mike Gleason (http://www.NcFTP.com/contact/).
Connecting to xxx.xxx.0.140...                                                    
ProFTPD 1.3.1 Server (Debian) [::ffff:xxx.xxx.0.140]
Login incorrect.                                                                
Sleeping 20 seconds... 

man ncftp狀態,ncftp不使用.netrc文件來儲存首選項。詳見FILES章節。相反,它使用$HOME/.ncftp/目錄。只需連接到您的伺服器並使用命令在文件bookmark中創建記錄$HOME/.ncftp/bookmarks

這是用連結和操作方法重寫 dchirikov 的答案。

儘管舊的手冊頁似乎表明曾經是這種情況,但 ncftp 似乎已經有.netrc一段時間不支持該文件了。最新的官方手冊頁沒有提及它。我發現了一份2002 年關於缺乏支持的debian 錯誤報告。ncftp 開發人員 (Mike Gleason) 回應:

.netrc文件與 ncftpput 的配置文件幾乎沒有關係,它可以包含一組登錄資訊。正確解析 a .netrc會使程式碼膨脹而沒有明顯的好處,因為如果不對其進行編輯,就無法將其與 ncftpput 一起使用。

我認為可以肯定地說.netrc支持被故意刪除並且不會很快返回。

實現無密碼登錄/傳輸的ncftp方式是做書籤。這很簡單:

$ ncftp -u username ftp.example.com
[...]
Password requested by [host IP address] for user "username".

User username okay, need password.

Password: 

然後你輸入密碼就可以進入了。你應該得到伺服器的歡迎文本並且:

Restricted user logged in.
Logged in to ftp.example.com.

ncftp / >提示符下,輸入bookmark。系統將提示您為書籤命名(在我們的範例中,建議是主機名的有用版本example),並確認您要保存密碼。

如果您退出ncftp並瀏覽該文件~/.ncftp/bookmarks,您將看到您的主機的一行,其中包含書籤名稱、主機名稱、使用者名和密碼。密碼以編碼形式保存,這可能並不完全安全,但至少比.netrc文件中的明文更安全。

現在做:

$ ncftp example
[...]
Restricted user logged in.
Logged in to ftp.example.com.
ncftp / >

你就在那裡。書籤也適用於 ncftp 的 put/get 版本。例如,

$ ncftpput example destdir file

將目錄放在file伺服器上。ftp.example.com``destdir

引用自:https://unix.stackexchange.com/questions/63112