linux - Ec2 实例登录问题 - Linux

标签 linux amazon-web-services packer

我已经使用我的 AMI 创建了一个实例(来自黄金 AMI - 它默认安装了 5 个卷 - 根据我认为的顺式建议)。当我使用此 AMI 启动实例时,我没有看到任何登录问题,但没有安装任何驱动器。所以我在我的打包程序代码中定义了将这些卷附加到 launch_block_device_mappings 和 ami_block_device_mappings 下。现在我可以看到我自己的 AMI 已连接驱动器。

问题来了:当我在没有安装这些驱动器的情况下旋转时,我的实例允许我登录但是当我在下面运行时它不允许我登录:

Error : Access Denied.

Provisioner 下的 Packer 代码:(刚刚创建了一个名为 scripts 的新目录并执行它 - 之前尝试从 packer 执行时出现错误,因此尝试复制到实例并从那里执行)。

    {
         "type": "shell",
         "inline": [
            "sudo chmod u+x /scripts/mountpartitions.sh",
            "sudo sh /scripts/mountpartitions.sh",
            "sudo rm -rf /scripts"
         ],
        "execute_command": "{{ .Vars }} sudo -E -S sh '{{ .Path }}'"
    }

挂载脚本:

#!/bin/bash

sudo mkfs.ext4 /dev/xvdj
echo '/dev/xvdj /tmp ext4 defaults 1 2' | sudo tee -a /etc/fstab
sudo mount /dev/xvdj /tmp

sudo mkdir -p /srv/home
sudo mkfs.ext4 /dev/xvdf
sudo mount /dev/xvdf /srv/home
sudo rsync -av /home/* /srv/home/
sudo rm -rf /home/*
sudo umount /srv/home
echo '/dev/xvdf /home ext4 defaults 1 2' | sudo tee -a /etc/fstab
sudo mount /dev/xvdf /home
sudo rm -rf /srv/home/

sudo mkfs.ext4 /dev/xvdh
echo '/dev/xvdh /var/log ext4 defaults 1 2' | sudo tee -a /etc/fstab
sudo mount /dev/xvdh /var/log

sudo mkfs.ext4 /dev/xvdi
sudo mkdir /var/log/audit
echo '/dev/xvdi /var/log/audit ext4 defaults 1 2' | sudo tee -a /etc/fstab
sudo mount /dev/xvdi /var/log/audit

sed -e 's/\s*\([\+0-9a-zA-Z]*\).*/\1/' << EOF | fdisk /dev/xvdl
  o # clear the in memory partition table
  n # new partition
  p # primary partition
  1 # partition number 1
    # default - start at beginning of disk
    # default, extend partition to end of disk
  t # change a partition's system id
 82 # 82  Linux swap
  p # print the in-memory partition table
  w # write the partition table
  q # and we're done
EOF
echo '/dev/xvdl1 none swap sw 0 0' | sudo tee -a /etc/fstab
mkswap -L /dev/xvdl1 /dev/xvdl1
swapon -a

我已经尝试使用 AMI 手动构建实例并使用 pem key 登录以查看是否有错误,我可以看到所有的 sudoers 都可用。

还从用户数据而不是打包程序代码(从没有连接驱动器的 ami)尝试了如下脚本,但仍然相同。

已验证安全,它只是显示在消息日志中

Jul  9 01:39:38 sshd[10595]: input_userauth_request: invalid user  [preauth]
Jul  9 01:39:49 sshd[10595]: pam_sss(sshd:auth): authentication failure;

实例应该允许我通过 AD 身份验证登录。

为什么我只是通过添加用于安装驱动器的脚本来获得错误?

最佳答案

发现我们缺少 sssd 的重启,因为我们只执行 ssshd 解决了它。

关于linux - Ec2 实例登录问题 - Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56944136/

相关文章:

azure - 打包程序 azure-arm : Cannot locate the managed image resource group

amazon-web-services - 使用 packer 和 ansible 时获取 AWS 实例的 IP 地址

vagrant - 使用 Packer 从 Vagrant 盒创建 VM 镜像?

amazon-web-services - AWS Elastic Beanstalk 工作线程队列行为

image-processing - 使用 EC2 按需调整存储在 S3 上的图像大小

linux - 如何在使用 tar 压缩目录时排除大文件

regex - 如何在文件中搜索正则表达式,然后就地修改所有出现的地方?

amazon-web-services - 503 服务不可用的 AWS WordPress EC2

linux - Subversion 创建具有过于严格权限的修订目录

linux - 如何在 Linux 中按页面方式列出文件?