[英]switch local terminal to aws EC2 instance in Bash script
我需要自動執行aws configure , 連接到ec2並使用shell腳本在EC2實例內部運行命令。
echo "Do you need to configre AWS configure [y/n]?"
read -r aws_configure
if [ y = $aws_configure ]; then
echo "######################################"
echo " AWS Configure "
echo "######################################"
aws configure
else
echo "Skipped AWS Configuration !"
echo "---------------------------"
fi
echo "######################################"
echo " Connecting to EC2 Instance "
echo "######################################"
echo "Which swarm that you need to create [private(a) or public(b)]?"
read -r swarm
ssh -i ~/Documents/AWS/eu_instance_key.pem ec2-user@<EC2 Instance IP address>
**docker image ls ==> I need to run this command on EC2 instance**
我可以通過向實例發送ssh請求來連接到EC2實例。 但是我無法將EC2實例切換到其他命令。
使用bash腳本連接到實例后,我想在EC2服務器上運行一些命令。
我找不到實現此目的的方法,而我是Shell腳本的新手。
任何幫助,將不勝感激! 謝謝。
如果您必須為此使用SSH,請嘗試使用aws configure set
來配置憑據,區域和其他屬性,而無需從標准輸入中讀取信息並使腳本復雜化。 此處更多https://docs.aws.amazon.com/cli/latest/reference/configure/set.html
另外,您可以將IAM角色與EC2實例相關聯,而不是顯式設置憑據,它會自動生成並輪換臨時憑據,因此您無需為此編寫腳本。 此處更多信息: https : //docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html
或者更好的是,使用AWS Systems Manager來管理服務器和執行腳本。 此處更多內容: https : //docs.aws.amazon.com/systems-manager/latest/userguide/execute-remote-commands.html
查看本教程以開始使用它: https : //aws.amazon.com/getting-started/tutorials/remotely-run-commands-ec2-instance-systems-manager/
我必須為此創建另一個bash腳本。 當我將ssh請求發送到EC2實例進行連接時,還通過本地傳遞並執行了我新創建的bash文件。
ssh -i $Path_to_PemFile_Private ec2-user@$Private_Instance_IP 'bash -s' < ./private_instance.sh 2> /tmp/Error
因此第二個bash是private_instance.sh,用於運行需要在EC2實例內部運行的命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.