如何在AWS上使用密钥对访问s3桶访问SFTP服务器上的客户端?



我们希望通过基于公钥认证的AWS SFTP服务器为客户端提供访问AWS s3 bucket的权限,如何基于公钥认证为客户端提供访问权限,我们将遵循哪些步骤?

如果您正在使用AWS Transfer for SFTP,那么您应该:

  • 要求用户生成RSA对并向您提供公钥
  • 在AWS传输服务器中创建用户并附加公钥

用户应该能够使用他们的私钥连接到服务器。

我认为您还需要创建一个IAM Role,授予用户对适当S3桶的访问权限。参见:与服务管理的用户一起工作- AWS Transfer Family

我使用ssh-keygen创建了密钥对,然后这两个密钥存储在同一个文件夹中。下面的脚本被传递,然后文件自动传输到客户端文件夹

echo " Privatekey,PublicKey (copied)"

chmod 600 $folder/id_rsa
# private key permission changed    
filechmod_result=`echo $?`
if [[ $filechmod_result -eq  0 ]];
then
echo "chmod is success 12345678"
else
echo "chmod is fail"
fi 

sftp -o Port=8022 -o IdentityFile=$folder/id_rsa -o StrictHostKeyChecking=no $username@$servername << !
cd client folder
put $folder/$client folder
ls

最新更新