如何通过 sftp 进入服务器并使用 Linux 脚本自动传递 pem 密钥密码?

问题描述 投票:0回答:1

我正在尝试创建一个 Linux 脚本,可以调用该脚本来使用具有关联密码的 pem 密钥自动 sftp 到外部服务器?

据我所知,大概是这样的:

sftp -i rsa_private.pem -p rsa_private_passphrase 用户名@ip_地址

但显然这是传递 sftp 帐户的假定密码,而不是 pem 密钥...我对 Linux 脚本编写相对缺乏经验,因此非常感谢任何帮助!

linux rsa sftp
1个回答
0
投票

尝试这个棘手的解决方案: 如何通过环境变量传递 ssh 密钥密码

基本上,您必须遵循以下步骤: 首先安装 ssh-agent

创建包含密码短语的 shell 脚本askpass.sh

#!/usr/bin/env bash
echo "${0}:${@} : this is for debugging to see if the echo script runs" 1>&2
echo "THEPASSPHRASE"

从您的 sftp 脚本中,启动 ssh-agent 并启动帮助程序脚本

#start the agent
eval $(ssh-agent)

#add your privatekey with ssh-add and the helper script
DISPLAY=":0.0" SSH_ASKPASS="/scripts/askpass.sh" setsid ssh-add /scripts/priv.key </dev/null

#start your sftp session with the privatekey
sftp -v -i /scripts/priv.key  [email protected]
© www.soinside.com 2019 - 2024. All rights reserved.