ncftp 不查看 .netrc

ncftp 不查看 .netrc

我的 中有这样的节.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... 

答案1

ncftp不使用.netrc文件来存储首选项,[man ncftp][1]有关详细信息,请参阅文件部分。相反,它使用$HOME/.ncftp/目录

连接到您的服务器并使用命令在文件bookmark中创建记录$HOME/.ncftp/bookmarks

答案2

这是 dchirikov 的答案的重写,包含链接和操作指南。

虽然老人页面似乎表明曾经是这种情况,看来 ncftp 已经有.netrc一段时间不支持该文件了。这最新的官方手册页没有提及它。我找到了一个Debian 错误报告从2002年起就缺乏支持。 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

相关内容