Ubuntu:设置用户数据 ssh

Ubuntu:设置用户数据 ssh

我想在没有显示器的 Rpi 4 上安装 Ubuntu Server 20.04,所以我必须通过编辑文件夹user-data中的文件来提前设置 SSH system-boot

是否可以为用户设置 SSH:在第一次登录我的 Pi 之前默认设置公钥并禁用密码?

我找到了一本手册这里uaer-data但文件中没有关于如何正确设置 SSH 的信息:

chpasswd:
  expire: true
  list:
  - ubuntu:ubuntu

我需要帮助,因为不幸的是,我找不到任何全面的示例。但是有一些适用于虚拟盒的云配置示例(12),所以我不知道它是否适合我的情况。

users:
  - default
  - name: ubuntu
    ssh-authorized-keys:
      - <your user public key here>
    sudo: ALL=(ALL) NOPASSWD:ALL
    groups: sudo
    shell: /bin/bash

答案1

各位,经过多次尝试安装不带监视器的 Ubuntu(玩黑盒子)后,所需的配置成功了。

我的user-data文件:

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

请注意,与许多示例不同,默认值被注释掉并用下划线表示chpasswdssh_pwauthssh_authorized_keys

因此,您必须在机器上生成 SSH 密钥并将其添加到ssh_authorized_keys列表中,仅此而已。首次连接后无需任何操作。

答案2

接受的答案对我没有帮助。经过一番搜索,我找到了这个帖子

如果您通过以太网连接,文件user-data看起来应该是这样的:(在连接到 pi 之前在图像中更改它)

#cloud-config

## Set hostname
hostname: raspberry

## Configure default user
system_info:
  default_user:
    name: pi
    ssh_authorized_keys:
      - ssh-rsa ... user@comment
    sudo: ALL=(ALL) NOPASSWD:ALL

并更改为您正在连接的机器的ssh-rsa ... user@comment内容id_rsa.pub

当然你也可以改变hostnamedefault_user name

成功登录后,您可以像这样为该用户设置密码:

sudo -i
passwd pi

你将会得到如下提示:

New password: 
Retype new password: 

在那之后:

passwd: password updated successfully

进而

exit

如果上述方法仍然无效,请尝试以下操作“将现有的 Raspberry Pi 4 Ubuntu 安装从 SD 卡移至 USB/SSD”

相关内容