scp
喜欢ssh
有一个选择-i
。在 SSH 中,它被记录为-i identity_file
,并且我有一个文件,可以在ssh user@dest -i my.key
没有密码的情况下登录到设备。 SCP 记录了相同的选项
-i identity_file
选择文件从中读取用于公钥认证的身份(私钥)。这个选项是 直接通过 到 ssh(1)。
(强调我的)。该文档显然是错误的,因为scp my.file user@dest:/home/user/ -i my.key
失败了
my.key:不是目录
不,它确实不是一个目录。显然scp
不是直接将参数传递给ssh
,它首先进行检查,并且检查scp
可能是错误的方式(如果参数是一个目录)
无论如何,既然scp -i
坏了,我能用什么来代替呢? SCP 版本来自 Debian 10,手册页日期为 2018 年,没有--version
可用选项
答案1
您需要指定选项前来源和目标:
scp -i my.key my.file user@dest:/home/user/
SCP[-346ABCpqr电视] [-C 密码] [-F ssh_配置] [-我 身份文件] [-J 目的地] [-l 限制] [-o ssh_选项] [-P 港口] [-S 程序]来源...目标
您看到的错误是scp
将my.file
、user@dest:/home/user
、 和解释-i
为源和my.key
目标的结果:它检查目标是否是一个目录,但由于它是一个文件而失败。