Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 我可以用ssh连接到一个ec2实例中,并使用executeshell在该实例中运行命令吗?_Bash_Jenkins_Amazon Ec2 - Fatal编程技术网

Bash 我可以用ssh连接到一个ec2实例中,并使用executeshell在该实例中运行命令吗?

Bash 我可以用ssh连接到一个ec2实例中,并使用executeshell在该实例中运行命令吗?,bash,jenkins,amazon-ec2,Bash,Jenkins,Amazon Ec2,我将使用aws cli与jenkins一起启动几个ec2实例,然后我想ssh到这些实例中,并在其中安装一些软件包。我是否可以ssh到这些实例中,并使用execute shell安装这些软件包?我不能使用ssh插件,因为我事先不知道ip。 任何帮助都将不胜感激 我想用ssh连接到这些实例中,并在其中安装一些软件包 如果这是您想要ssh的唯一原因,我将不建议在创建实例后使用ssh安装包。最好将这些安装放在用户数据中的命令中,或者创建已经有这些包的AMI 用户数据和Shell脚本 如果您熟悉shell

我将使用aws cli与jenkins一起启动几个ec2实例,然后我想ssh到这些实例中,并在其中安装一些软件包。我是否可以ssh到这些实例中,并使用execute shell安装这些软件包?我不能使用ssh插件,因为我事先不知道ip。 任何帮助都将不胜感激

我想用ssh连接到这些实例中,并在其中安装一些软件包

如果这是您想要ssh的唯一原因,我将不建议在创建实例后使用ssh安装包。最好将这些安装放在用户数据中的命令中,或者创建已经有这些包的AMI

用户数据和Shell脚本

如果您熟悉shell脚本,那么这是最简单也是最简单的 在启动时向实例发送指令的完整方法。添加 启动时的这些任务增加了启动所需的时间 实例。你应该留出几分钟的额外时间来完成这项工作 测试用户脚本是否已完成之前要完成的任务 成功

在下面的示例脚本中,该脚本创建并配置我们的web服务器

#!/bin/bash
yum update -y
amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2
yum install -y httpd mariadb-server
systemctl start httpd
systemctl enable httpd
usermod -a -G apache ec2-user
chown -R ec2-user:apache /var/www
chmod 2775 /var/www
find /var/www -type d -exec chmod 2775 {} \;
find /var/www -type f -exec chmod 0664 {} \;
echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php


因此,使用上述方法是在实例创建时处理Ec2安装和配置的标准方法,您也不需要实例IP。

我正在使用cloudformation来启动实例。我通过在cloudformation模板中添加UserData字段尝试了这一点,但它不起作用
aws ec2 run-instances --image-id ami-a4c7edb2 --count 1 \
     --instance-type t2.micro --key-name mynewkey \
     --subnet-id subnet-5630306b --user-data file://ud.txt