(Eu estou trabalhando em uma VM na minha máquina local, então a segurança não é realmente importante agora. Eu não faria isso em uma máquina aberta).
Estou trabalhando em uma compilação complexa e gastando um bom tempo observando arquivos de configuração e arquivos de log.
Portanto, quero executar scp
fora da pasta vagrant, como root, porque os arquivos de log e os arquivos de configuração têm permissões bastante restritivas.
Para fazer isso, quero configurar um ssh mais abrangente do que apenas o vagrant ssh
integrado, que funciona apenas sob o diretório vagrant.
faça um ssh-copy-id -i <somekey> vagrant@myvm
.
OK, nesse ponto, desde que eu tenha escolhido a chave certa e ela esteja carregada no agente ssh, agora posso ssh vagrant@myvm
.
(se eu fizer um ssh-copy-id root
, eu recebo a senha, não vou), então, em vez disso, vou copiar as chaves autorizadas.
ssh em vm como vagrant.
sudo -s
cd /root #root's home
#copy vagrants authorized keys.
cp -r /vagrant/.ssh .
Isso funciona. ou seja, eu posso ssh root@myvm
O que não funcionou é que tentei substituir a cópia por ln -s /home/vagrant/.ssh .ssh
enquanto estava logado como root.
substitua ln -s
por cp -r
e tudo funcionará novamente.
Agora, vejo uma razão pela qual isso seria uma boa segurança - qualquer um com credenciais de usuário vagrant poderia inserir uma nova chave no vagrant e magicamente também abrir a raiz para root, sem executar nenhuma ação enquanto logado como root .
Mas, sshd-may-ssh-directory-ser-symlinked diz que o sylinked .ssh está OK. Na verdade, não há resposta, apenas um comentário.
Então a) são symlink .ssh OK? b) mas não OK para root?
env: macos Sierra anfitrião, Ubuntu 16.04 guest, Vagrant 2.0.0
Tags ssh symbolic-link