使用传统方式将您的公钥复制到服务器。
在服务器上:
[[!-d "${HOME}/.ssh" ]] && mkdir -p "${HOME}/.ssh"
cat /path/to/public_key.pub >> "${HOME}/.ssh/authorized_keys"
chmod go-rwx "${HOME}" "${HOME}/.ssh/authorized_keys"
之后,您应该能够使用 PRIVATE 密钥从客户端登录。要自动执行传输,您需要使用批处理文件,它只是一个包含要执行的命令列表的文本文件。
echo "put filename.foo /safe/path/filename.foo" >> /tmp/batchfile.txt
sftp -b /tmp/batchfile.txt -oIdentityFile=/path/to/private_key user@host
或者,您可以随意以 ssh_config 格式创建 ~/.ssh/config 文件,以便将来可以键入以下内容:
sftp -b /tmp/batchfile.txt 主机
样本内容~/.ssh/config
托管 the_hostname
用户 user_name
IdentityFile /path/to/private_key