Ubuntu: настройка пользовательских данных ssh

Я хочу установить Ubuntu Server 20.04 на Rpi 4 без монитора, поэтому мне нужно заранее настроить SSH, отредактировав user-data файл в папке system-boot .

Можно ли настроить SSH для пользователя: установить открытый ключ и отключить пароль по умолчанию перед первым входом в мой Pi?

Я нашел одно руководство здесь , но нет информации о том, как правильно настроить SSH в файле uaer-data :

chpasswd:
  expire: true
  list:
  - ubuntu:ubuntu

Мне нужна помощь, так как, к сожалению, я не могу найти исчерпывающий пример для этой цели. Но есть несколько примеров облачной конфигурации для виртуального бокса ( 1 , 2 ), поэтому я не знаю, подходит ли это для моего случая.

users:
  - default
  - name: ubuntu
    ssh-authorized-keys:
      - <your user public key here>
    sudo: ALL=(ALL) NOPASSWD:ALL
    groups: sudo
    shell: /bin/bash
0
задан 26 December 2020 в 04:44

2 ответа

Ребята, после нескольких попыток установки Ubuntu без монитора (игра с черным ящиком) необходимая конфигурация была успешно выполнена.

Мой файл пользовательских данных :

users:
  - default
  - name: ubuntu
    sudo: ALL=(ALL) NOPASSWD:ALL
    groups: sudo, users, admin
    lock_passwd: true
    ssh_pwauth: True
    ssh_import_id: None
    ssh_authorized_keys:
      - <your user public key here>

#chpasswd:
#  expire: true
#  list:
#  - ubuntu:ubuntu

#ssh_pwauth: true

Обратите внимание, что по умолчанию chpasswd и ssh_pwauth закомментированы, а ssh_authorized_keys записаны с подчеркиванием, в отличие от многих примеров.

Итак, вам нужно сгенерировать SSH-ключ на вашем компьютере и добавьте его в список ssh_authorized_keys , вот и все. Никаких подергиваний после первого подключения не требуется.

0
ответ дан 3 January 2021 в 22:45

Вот один способ:

Для большинства пользователей НАМНОГО проще войти в систему в первый раз, используя временный пользователь / пароль «ubuntu», а затем настроить своего постоянного администратора.

  1. ВАРИАНТ Шаги L:
// Set the timezone non-interactively
sudo ln -fs /usr/share/zoneinfo/<pick_a_timezone> /etc/localtime
sudo dpkg-reconfigure -f noninteractive tzdata

//Change the hostname
sudo hostnamectl set-hostname <new_hostname>
  1. Добавьте своего постоянного пользователя, а затем сделайте этого пользователя администратором
// You must create a new (admin) password during this step. Don't forget it.
adduser <user_name>
adduser <user_name> sudo
  1. На вашем ЛОКАЛЬНОМ компьютере отправьте свой ключ ssh на удаленный компьютер.
local:~$ ssh-copy-id <user_name>@<pi_ip_address>
  1. Проверьте свой логин на основе ключа:
local:~$ ssh <user_name>@<pi_ip_address>
  1. Если ваш вход на основе ключа успешен, пора завершить настройку на пи.
// Edit the ssh settings to disable password-based access 
sudo nano /etc/ssh/sshd.config

        PermitRootLogin no
        PasswordAuthentication no

// Reload the sshd config.
sudo systemctl restart sshd

// Delete the 'Ubuntu' user
sudo deluser ubuntu --remove-home

... и теперь вы все настроены с помощью уникального входа в систему SSH на основе ключа.

1
ответ дан 3 January 2021 в 22:45

Другие вопросы по тегам:

Похожие вопросы: