如何在 Centos QCOW2 映像中使用 SSH 启用基于密码的身份验证?

如何在 Centos QCOW2 映像中使用 SSH 启用基于密码的身份验证?

我需要在私有服务器(一种裸机服务器)上部署 CentOs 云映像。因此,我下载 CentOS 云映像并通过运行以下命令virt-customize启用 SSH 和密码验证来对其进行自定义。build_script.sh

distro=$1
config_dir=$2
if [[ -z $distro ]]; then
  echo "USAGE: $0 image_path config_dir"
  exit 0
fi
if [[ -z $config_dir ]]; then
  echo "USAGE: $0 image_path config_dir"
  exit 0
fi
sudo virt-customize --install openssh-server -a $distro
sudo virt-customize --install openssh-clients -a $distro 
sudo virt-customize --run-command 'systemctl enable sshd' -a $distro 
sudo virt-customize --mkdir /var/ssh/ -a $distro
sudo virt-customize --copy-in $config_dir/sshd_config:/etc/ssh/ -a $distro
sudo virt-customize --run-command 'systemctl start sshd' -a $distro 

看起来sshd_config

ClientAliveInterval 360
ClientAliveCountMax 0
PermitEmptyPasswords no
PermitRootLogin no
PasswordAuthentication yes

在部署和启动之前,我已手动验证了sshd_config 具有这些值,但是,当启动时,配置更改PasswordAuthenticatin yesPasswordAuthentication no。是什么改变了这一点,我无法调试。提前感谢您的帮助。

答案1

要允许使用 ssh 进行控制台连接(无需密码登录),您需要添加以下命令。您的问题将得到解决。

virt-customize -a /img/$VM_NAME.qcow2  --run-command 'echo PermitRootLogin yes >> /etc/ssh/sshd_config'

相关内容