我有一台笔记本电脑和一个作为存储服务器的树莓派。我想知道如何在除了运行程序之外没有任何用户交互的情况下下载文件。我通读了手册页,似乎没有办法在scp
或sftp
命令行上指定密码。
答案1
ssh
及其表亲sftp
,因为它们的编写是为了安全(毕竟它就在名称中),设计上不允许在命令行上提供密码,因为这是将密码泄漏到纯文本日志文件中的一种非常简单的方法比如shell的历史。
如果您想要启用无头但仍经过身份验证的文件传输,请创建一个公钥/私钥对,ssh-keygen
但提供一个空白密码。sftp
一旦公钥安装在远程主机上,您就可以使用该密钥对来验证您的交易。
如果你真的想要使用sftp
你还必须发送命令到 sftp
您通常会在其交互式提示中输入该内容。使用起来会更简单scp
:
$ scp [email protected] /path/to/my/file ./file