簡體   English   中英

在 Ubuntu AWS 的自定義用戶下安裝 authorized_keys 文件

[英]Installing authorized_keys file under custom user for Ubuntu AWS

我正在嘗試設置一個 ubuntu 服務器並使用非默認用戶登錄。 我使用 cloud-config 和用戶數據來設置初始用戶,並使用 packer 來配置服務器:

system_info:
  default_user:
    name: my_user
    shell: /bin/bash
    home: /home/my_user
    sudo: ['ALL=(ALL) NOPASSWD:ALL']

Packer 登錄並以 my_user 身份配置服務器,但是當我從 AMI 啟動實例時,AWS 會在 /home/ubuntu/.ssh/ 下安裝 authorized_keys 文件

打包機配置:

{
    "variables": {
        "aws_profile": ""
    },
    "builders": [{
        "type": "amazon-ebs",
        "profile": "{{user `aws_profile`}}",
        "region": "eu-west-1",
        "instance_type": "c5.large",
        "source_ami_filter": {
            "most_recent": true,
            "owners": ["099720109477"],
            "filters": {
                "name": "*ubuntu-xenial-16.04-amd64-server-*",
                "virtualization-type": "hvm",
                "root-device-type": "ebs"
            }
        },
        "ami_name": "my_ami_{{timestamp}}",
        "ssh_username": "my_user",
        "user_data_file": "cloud-config"
    }],
    "provisioners": [{
        "type": "shell",
        "pause_before": "10s",
        "inline": [
            "echo 'run some commands'"
        ]}
    ]
}

服務器啟動后,ubuntu 和 my_user 用戶都存在於 /etc/passwd 中:

my_user:1000:1002:Ubuntu:/home/my_user:/bin/bash
ubuntu:x:1001:1003:Ubuntu:/home/ubuntu:/bin/bash

什么時候創建 ubuntu 用戶,有沒有辦法在啟動時在 /home/my_user/.ssh 下安裝 authorized_keys 文件而不是 ubuntu?

您可以在使用 cloud-init 創建用戶時添加公鑰。 這是你如何做的。

users:
  - name: <username>
    groups: [ wheel ]
    sudo: [ "ALL=(ALL) NOPASSWD:ALL" ]
    shell: /bin/bash
    ssh-authorized-keys: 
    - ssh-rsa AAAAB3Nz<your public key>...

使用 cloud-init 添加額外的 SSH 用戶帳戶

要在使用 AMI 從中啟動新的 EC2 實例時保留默認用戶,您必須更改值/etc/cloud/cloud.cfg並更新此部分:

system_info:
   default_user:
     # Update this!
     name: ubuntu

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM