我正在寻求一些有关 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。我尝试了所有可能的方法,在网上搜索了很多,但无济于事 :( 这是我遵循的步骤 - 请有人帮忙。提前谢谢!
我在 Mac 上生成了 ssh 密钥 - 使用“ssh-keygen -t rsa -b 4096”命令,该命令将密钥存储在我的 id_rsa.pub 文件中。
这是我的 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
现在我将密钥从 id_rsa.pub 复制到了 mu ubuntu 上的 authorized_keys 文件中
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
我甚至尝试执行 chmod 700 authorized_keys,但没有成功
我可以确认 Mac 上的公钥已成功复制到 Ubuntu 上的 authorized_keys
这是 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 中安装您的公钥