无法通过 SSH 从 Mac OS 连接到 Virtualbox 上的 Ubuntu VM

无法通过 SSH 从 Mac OS 连接到 Virtualbox 上的 Ubuntu VM

我正在寻求一些有关 SSH 的帮助。

我有一台 Mac,上面安装了 VirtualBox。上面有 2 个 VM,一个是 Windows 10 VM,另一个是 Ubuntu。两个 VM 在仅主机网络上互相暴露。

我在 Windows VM 上使用 PuttyGen 生成了一个 ssh 密钥,复制到剪贴板,在我的 ubuntu vm 上打开 authorized_keys 文件并将其粘贴为-s。此后,我成功地从 Windows ssh 连接到 Linux (Ubuntu)。

现在,我希望我的 Mac 也能有同样的行为,能够通过 SSH 连接到 Ubuntu VM。不幸的是,它不起作用。它显示 permission_denied。我尝试了所有可能的方法,在网上搜索了很多,但无济于事 :( 这是我遵循的步骤 - 请有人帮忙。提前谢谢!

  1. 我在 Mac 上生成了 ssh 密钥 - 使用“ssh-keygen -t rsa -b 4096”命令,该命令将密钥存储在我的 id_rsa.pub 文件中。

  2. 这是我的 Mac 上的 .ssh 文件夹的样子

    drwx------   5 JK  staff   170 Nov 14 21:27 .
    drwxr-xr-x+ 36 JK  staff  1224 Nov 14 20:10 ..
    -rw-------   1 JK  staff  3243 Nov 14 21:27 id_rsa
    -rw-r--r--   1 JK  staff   756 Nov 14 21:27 id_rsa.pub
    -rw-r--r--   1 JK  staff   345 Nov 14 16:42 known_hosts
    
  3. 现在我将密钥从 id_rsa.pub 复制到了 mu ubuntu 上的 authorized_keys 文件中

  4. Ubuntu /.ssh 目录如下所示

    drwx------ 2 vagrant vagrant 4096 Nov 14 21:53 .
    drwx------ 4 vagrant vagrant 4096 Nov 15 01:40 ..
    -rw-r--r-- 1 vagrant vagrant 1557 Nov 15 03:47 authorized_keys
    
  5. 我甚至尝试执行 chmod 700 authorized_keys,但没有成功

  6. 我可以确认 Mac 上的公钥已成功复制到 Ubuntu 上的 authorized_keys

  7. 这是 ssh 输出

    ssh [email protected] -vvv
    OpenSSH_6.9p1, LibreSSL 2.1.8
    debug1: Reading configuration data /etc/ssh/ssh_config
    debug1: /etc/ssh/ssh_config line 21: Applying options for *
    debug2: ssh_connect: needpriv 0
    debug1: Connecting to 192.168.58.1 [192.168.58.1] port 22.
    debug1: Connection established.
    debug1: identity file /Users/JK/.ssh/id_rsa type 1
    debug1: key_load_public: No such file or directory
    debug1: identity file /Users/JK/.ssh/id_rsa-cert type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /Users/JK/.ssh/id_dsa type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /Users/JK/.ssh/id_dsa-cert type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /Users/JK/.ssh/id_ecdsa type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /Users/JK/.ssh/id_ecdsa-cert type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /Users/JK/.ssh/id_ed25519 type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /Users/JK/.ssh/id_ed25519-cert type -1
    debug1: Enabling compatibility mode for protocol 2.0
    debug1: Local version string SSH-2.0-OpenSSH_6.9
    debug1: Remote protocol version 2.0, remote software version OpenSSH_6.9
    debug1: match: OpenSSH_6.9 pat OpenSSH* compat 0x04000000
    debug2: fd 3 setting O_NONBLOCK
    debug1: Authenticating to 192.168.58.1:22 as 'vagrant'
    debug3: hostkeys_foreach: reading file "/Users/JK/.ssh/known_hosts"
    debug3: record_hostkey: found key type ECDSA in file /Users/JK/.ssh/known_hosts:1
    debug3: load_hostkeys: loaded 1 keys from 192.168.58.1
    debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
    debug1: SSH2_MSG_KEXINIT sent
    debug1: SSH2_MSG_KEXINIT received
    debug2: kex_parse_kexinit: [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
    debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],[email protected],[email protected],[email protected],ssh-ed25519,ssh-rsa,ssh-dss
    debug2: kex_parse_kexinit: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected],arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
    debug2: kex_parse_kexinit: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected],arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
    debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1,[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
    debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1,[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
    debug2: kex_parse_kexinit: none,[email protected],zlib
    debug2: kex_parse_kexinit: none,[email protected],zlib
    debug2: kex_parse_kexinit: 
    debug2: kex_parse_kexinit: 
    debug2: kex_parse_kexinit: first_kex_follows 0 
    debug2: kex_parse_kexinit: reserved 0 
    debug2: kex_parse_kexinit: [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
    debug2: kex_parse_kexinit: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ssh-ed25519
    debug2: kex_parse_kexinit: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
    debug2: kex_parse_kexinit: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
    debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
    debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
    debug2: kex_parse_kexinit: none,[email protected]
    debug2: kex_parse_kexinit: none,[email protected]
    debug2: kex_parse_kexinit: 
    debug2: kex_parse_kexinit: 
    debug2: kex_parse_kexinit: first_kex_follows 0 
    debug2: kex_parse_kexinit: reserved 0 
    debug1: kex: server->client [email protected] <implicit> none
    debug1: kex: client->server [email protected] <implicit> none
    debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
    debug1: Server host key: ecdsa-sha2-nistp256 SHA256:Yjfn7E49YWk/EE22fYrJvLusCs+VbvDDzppSUCHDBt8
    debug3: hostkeys_foreach: reading file "/Users/JK/.ssh/known_hosts"
    debug3: record_hostkey: found key type ECDSA in file /Users/JK/.ssh/known_hosts:1
    debug3: load_hostkeys: loaded 1 keys from 192.168.58.1
    debug1: Host '192.168.58.1' is known and matches the ECDSA host key.
    debug1: Found key in /Users/JK/.ssh/known_hosts:1
    debug2: set_newkeys: mode 1
    debug1: SSH2_MSG_NEWKEYS sent
    debug1: expecting SSH2_MSG_NEWKEYS
    debug2: set_newkeys: mode 0
    debug1: SSH2_MSG_NEWKEYS received
    debug1: SSH2_MSG_SERVICE_REQUEST sent
    debug2: service_accept: ssh-userauth
    debug1: SSH2_MSG_SERVICE_ACCEPT received
    debug2: key: /Users/JK/.ssh/id_rsa (0x7f8241e15210),
    debug2: key: /Users/JK/.ssh/id_dsa (0x0),
    debug2: key: /Users/JK/.ssh/id_ecdsa (0x0),
    debug2: key: /Users/JK/.ssh/id_ed25519 (0x0),
    debug1: Authentications that can continue: publickey,keyboard-interactive
    debug3: start over, passed a different list publickey,keyboard-interactive
    debug3: preferred publickey,keyboard-interactive,password
    debug3: authmethod_lookup publickey
    debug3: remaining preferred: keyboard-interactive,password
    debug3: authmethod_is_enabled publickey
    debug1: Next authentication method: publickey
    debug1: Offering RSA public key: /Users/JK/.ssh/id_rsa
    debug3: send_pubkey_test
    debug2: we sent a publickey packet, wait for reply
    debug1: Authentications that can continue: publickey,keyboard-interactive
    debug1: Trying private key: /Users/JK/.ssh/id_dsa
    debug3: no such identity: /Users/JK/.ssh/id_dsa: No such file or directory
    debug1: Trying private key: /Users/JK/.ssh/id_ecdsa
    debug3: no such identity: /Users/JK/.ssh/id_ecdsa: No such file or directory
    debug1: Trying private key: /Users/JK/.ssh/id_ed25519
    debug3: no such identity: /Users/JK/.ssh/id_ed25519: No such file or directory
    debug2: we did not send a packet, disable method
    debug3: authmethod_lookup keyboard-interactive
    debug3: remaining preferred: password
    debug3: authmethod_is_enabled keyboard-interactive
    debug1: Next authentication method: keyboard-interactive
    debug2: userauth_kbdint
    debug2: we sent a keyboard-interactive packet, wait for reply
    debug2: input_userauth_info_req
    debug2: input_userauth_info_req: num_prompts 1
    Password:
    debug1: Authentications that can continue: publickey,keyboard-interactive
    debug2: userauth_kbdint
    debug2: we sent a keyboard-interactive packet, wait for reply
    debug2: input_userauth_info_req
    debug2: input_userauth_info_req: num_prompts 1
    Password:
    debug1: Authentications that can continue: publickey,keyboard-interactive
    debug2: userauth_kbdint
    debug2: we sent a keyboard-interactive packet, wait for reply
    debug2: input_userauth_info_req
    debug2: input_userauth_info_req: num_prompts 1
    Password:
    debug1: Authentications that can continue: publickey,keyboard-interactive
    debug2: we did not send a packet, disable method
    debug1: No more authentication methods to try.
    Permission denied (publickey,keyboard-interactive)
    

答案1

根据您的帖子,您在 /.ssh/authorized_keys 中安装了您的公钥,并且您正在以用户“vagrant”的身份进行连接,这意味着您必须在 /home/vagrant/.ssh/authorized_keys 中安装您的公钥

相关内容