[login] 기본적으로 루트로 방랑자 로그인

문제점 : 자주 상자에 입력하는 첫 번째 명령은 su -.

질문 : vagrant ssh기본적으로 루트 사용자를 사용하려면 어떻게해야 합니까?

버전 : vagrant 1.6.5



답변

이것은 유용합니다.

sudo passwd root

먼저 vagrant에서 루트 암호를 설정해야하는 필요성에 사로 잡힌 사람을 위해


답변

솔루션 :
다음을 추가하십시오 Vagrantfile.

config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'

때 당신이 vagrant ssh이제부터, 당신은로 로그인합니다 root다음을 기대한다 :

==> mybox: Waiting for machine to boot. This may take a few minutes...
    mybox: SSH address: 127.0.0.1:2222
    mybox: SSH username: root
    mybox: SSH auth method: password
    mybox: Warning: Connection timeout. Retrying...
    mybox: Warning: Remote connection disconnect. Retrying...
==> mybox: Inserting Vagrant public key within guest...
==> mybox: Key inserted! Disconnecting and reconnecting using new SSH key...
==> mybox: Machine booted and ready!

2015 년 6 월 23 일 업데이트 :
1.7.2 버전에서도 작동합니다. 1.7.0 이후 키 보안이 향상되었습니다. 이 기술은 알려진 개인 키를 사용하는 이전 방법으로 다시 대체됩니다. 이 솔루션은 게시 전에 적절한 보안 조치를 취하지 않고 공개적으로 액세스 할 수있는 상자에 사용할 수 없습니다.

참고:


답변

이것은 ubuntu / trusty64 상자에있는 경우 작동합니다.

vagrant ssh

우분투 상자에 들어가면 :

sudo su

이제 루트 사용자입니다. 아래와 같이 루트 비밀번호를 업데이트 할 수 있습니다.

sudo -i
passwd

이제 파일에서 아래 줄을 편집하십시오. /etc/ssh/sshd_config

PermitRootLogin yes

또한 자신 만의 대체 사용자 이름을 만드는 것이 편리합니다.

adduser johndoe

암호를 요청할 때까지 기다리십시오.


답변

Vagrantfile아래와 같은 경우 :

config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'

그러나 vagrant는 여전히 루트 암호를 묻습니다. 사용했던 기본 상자가 루트 로그인을 허용하도록 구성되지 않았을 가능성이 높습니다.


예를 들어, offical 한 ubuntu14.04 상자가 설정하지 마십시오 PermitRootLogin yes/etc/ssh/sshd_config.

따라서 상자가 루트 기본값으로 로그인 할 수 있도록하려면 (Vagrantfile 만, 더 이상 작업하지 않음) 다음을 수행해야합니다.

  1. 사용자 이름으로 VM 설정 vagrant(루트 제외)

  2. sshd 구성 파일에 로그인하고 편집합니다.

    우분투 : 편집 /etc/ssh/sshd_config, 설정 PermitRootLogin yes

    기타 : ….

    (저는 우분투 만 사용하며 다른 플랫폼의 해결 방법을 자유롭게 추가 할 수 있습니다.)

  3. 새 기본 상자를 만듭니다.

    vagrant package --base your-vm-name
    

    이것은 파일을 만듭니다 package.box

  4. vagrant에 해당 기본 상자를 추가하십시오.

    vagrant box add ubuntu-root file:///somepath/package.box
    

    그런 다음이 기본 상자를 사용하여 루트로 자동 로그인 할 수있는 vm을 빌드해야합니다.

  5. 원본 VM을 다음과 같이 파괴하십시오. vagrant destroy

  6. 원본을 수정 하고 Vagrantfile상자 이름을로 ubuntu-root, 사용자 이름을로 변경 root한 다음 vagrant up새 이름을 만듭니다.

알아내는 데 시간이 좀 걸렸고 제 생각에는 너무 복잡합니다. 희망 방랑자가 이것을 개선 할 것입니다.


답변

루트는 루트가 전에 로그인 할 수 있다는 것을 잊지 마십시오 !!!

아래 구성 코드를 /etc/ssh/sshd_config파일에 넣으십시오 .

PermitRootLogin yes


답변

이것을 Vagrantfile나를 위해 일했습니다. 이 줄은 sudo su -로그인 할 때마다 입력하는 것과 동일 합니다. 이를 위해서는 VM을 다시 프로비저닝해야합니다.

config.vm.provision "shell", inline: <<-SHELL
    echo "sudo su -" >> .bashrc
SHELL


답변

참고 : 이 방법은 로컬 개발에만 사용하며 안전하지 않습니다 . 상자를 프로비저닝하는 동안 암호 및 ssh 구성을 설정할 수 있습니다. 예를 들어 debian/stretch64상자의 경우 이것은 내 프로비저닝 스크립트입니다.

config.vm.provision "shell", inline: <<-SHELL
    echo -e "vagrant\nvagrant" | passwd root
    echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
    sed -in 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
    service ssh restart
SHELL

이렇게하면 루트 암호가로 설정 vagrant되고 암호로 루트 로그인이 허용됩니다. private_networkIP 주소 192.168.10.37로 say를 사용하는 경우 다음과 함께 ssh 할 수 있습니다.ssh root@192.168.10.37

기본 파일 에 따라 해당 echosed명령 을 변경해야 할 수 있습니다 sshd_config.