首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ubuntu/bionic6418.04框上有“ubuntu”用户的流浪者ssh

在ubuntu/bionic6418.04框上有“ubuntu”用户的流浪者ssh
EN

Stack Overflow用户
提问于 2018-10-26 08:10:50
回答 1查看 2.6K关注 0票数 0

我试图以ubuntu/bionic64盒版本20181024.0.0上的ubuntu用户身份使用以下Vagrant文件:

代码语言:javascript
复制
# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "ubuntu/bionic64"
  config.vm.box_version = "20181024.0.0"
  config.vm.network :private_network, ip: "192.168.24.25"

  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "256"]
  end

end

在执行vagrant upvagrant ssh时,我以流浪者用户的身份登录。如果添加这一行:

代码语言:javascript
复制
config.ssh.username = 'ubuntu'

要获得这样的Vagrantfile文件:

代码语言:javascript
复制
# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "ubuntu/bionic64"
  config.vm.box_version = "20181024.0.0"
  config.vm.network :private_network, ip: "192.168.24.25"

  config.ssh.username = "ubuntu"

  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "256"]
  end

end

运行vagrant up时,我将得到身份验证错误消息:

代码语言:javascript
复制
default: Warning: Authentication failure. Retrying...

我也尝试过添加这一行

代码语言:javascript
复制
config.ssh.insert_key = 'true'

但这也行不通。

我知道,一旦ssh作为ubuntu/xenial64用户切换到vm中,就可以将用户更改为vagrant用户,但我希望这一操作能够自动完成,就像在默认配置中使用20171011.0.0版本的情况一样。

有什么办法解决这个问题吗?

版本:2.2.0

VirtualBox版本:5.2.20 r125813

全部产出如下:

代码语言:javascript
复制
danilo$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/bionic64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/bionic64' is up to date...
==> default: Setting the name of the VM: ubuntu-bionic64_default_1540543288462_93774
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: ubuntu
    default: SSH auth method: private key
    default: Warning: Connection reset. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-26 11:37:06

基于https://openedx.atlassian.net/wiki/spaces/OXA/pages/157802739/Vagrant+is+stuck+Authentication+failure.+Retrying的指令。

总之

  1. 在Vagrantfile文件中注释config.ssh.username = "ubuntu"
  2. vagrant up \设置具有默认游动用户的VM
  3. 从命令IdentityFile vagrant ssh-config的结果中获取vagrant ssh-config路径值
  4. 生成键ssh-keygen -y -f <!!path-from-IdentityFile!!>,复制此键
  5. vagrant ssh \您将在流浪用户下待一段时间
  6. sudo -u ubuntu bash \更改用户
  7. vim ~/.ssh/authorized_keys,从4中添加键。
  8. 退出VM
  9. 取消Vagrantfile文件中的config.ssh.username = "ubuntu"注释
  10. vagrant reload
  11. vagrant ssh \您现在将使用ubuntu用户
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53004274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档