繁体   English   中英

SSH 进入 EC2 使用 zsh 脚本获取 EC2 IP 地址

[英]SSH into EC2 by using a zsh script to fetch EC2 IP Address

我想在我的 zprofile 中创建一个别名,它将根据名称标签获取 EC2 IP 地址,然后将 SSH 获取到该机器中。 我正在使用Mac。

这个zsh脚本成功将我想要ssh的EC2机器的IP地址检索到:

aws ec2 describe-instances \
--filters "Name=tag:Name, Values=my-name" \
--query "Reservations[*].Instances[*].[PrivateIpAddress]" \
--output text

output 可能看起来像: some.ip.address

这个 zsh 脚本让我 SSH 进入我的 EC2 机器:

alias ec2="ssh person@some.ip.address.us-east-1.place"

如何用我的第一个脚本的 output 替换第二个脚本的 IP 地址?

谢谢!

可能最简单的方法是设置第二个别名,所以你可以有类似的东西:

alias get_ec2_ip='aws ec2 describe-instances --filters "Name=tag:Name, Values=my-name" --query "Reservations[*].Instances[*].[PrivateIpAddress]" --output text'

然后你可以使用 zsh 的命令替换,像这样:

alias ec2='ssh person@`get_ec2_ip`'

请注意,在此处使用单引号而不是双引号非常重要,否则,您将在设置别名时运行get_ec2_ip ,这不是您想要的 - 您希望它保存文字字符串 ssh person@`get_ec2_ip` 作为别名,以便每次运行ec2时都会运行get_ec2_ip

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM