从 Mac 到 Vagrant 机器的 SSH

rag*_*ghu 3 ssh vagrant macos

我正在尝试使用 SSH 从我的 MacBook 连接到 Vagrant 机器。

vagrant ssh工作正常,但我想知道为什么当我ssh从 Mac 终端使用时它会失败。

这是它抛出的错误:

Raghavendras-MacBook-Pro:~ raghu$ ssh -p 2222 vagrant@127.0.0.1
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Run Code Online (Sandbox Code Playgroud)

tec*_*raf 6

因为您正在发出“普通”ssh命令,因此您正在尝试使用默认id_rsa+id_rsa.pub密钥对登录到 VM 。

除非您~/.ssh/id_rsa.pub从 MacBook明确添加到VM 上~/.ssh/accepted_keysvagrant帐户,否则您的默认密钥对对 VM 而言是未知的,并且会被拒绝并显示“权限被拒绝”消息。


您可以使用 Vagrant 创建并在创建时注入机器的密钥。从项目目录运行以下命令,替换<machine_id>为您在 Vagrantfile 中配置的名称(也假设您使用的是 VirtualBox,否则也要更改该部分路径):

ssh -i .vagrant/machines/<machine_id>/virtualbox/private_key -p 2222 vagrant@127.0.0.1
Run Code Online (Sandbox Code Playgroud)