CLI 需要 sudo 才能使用 SSH

CLI 需要 sudo 才能使用 SSH

我遇到了一个奇怪的错误。我刚刚安装了 Ubuntu 22.04,并从旧安装(Ubuntu 20.04)复制了我的 SSH 密钥。现在我突然需要sudo能够通过 SSH 连接到任何机器 - 只要它不在.ssh/config.

因此类似的东西[email protected]需要 sudo,但事实不应该如此 - 虽然ssh randomserver(在配置中)不需要 sudo。

值得注意的是,我在 Ubuntu 20.04 下有密钥/root/.ssh,而现在我已将所有内容移至/home/user/.ssh。我已经“chown”了所有内容,因此权限应该没问题。

我在网上找不到任何信息,所以我在这里问。你知道发生了什么吗?为了能够通过 SSH 连接到任何东西,必须输入两个密码,这真是太烦人了……

这是一个很好的例子:

daniel@xps9310:~$ ssh [email protected]
The authenticity of host '10.50.50.119 (10.50.50.119)' can't be established.
ED25519 key fingerprint is SHA256:YoCAfKKwVzweLXJea3YXz2q7D/6g8VadfbUXgK/wIsg.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.50.50.119' (ED25519) to the list of known hosts.
[email protected]: Permission denied (publickey,password).

daniel@xps9310:~$ sudo ssh [email protected]
The authenticity of host '10.50.50.119 (10.50.50.119)' can't be established.
ED25519 key fingerprint is SHA256:YoCAfKKwVzweLXJea3YXz2q7D/6g8VadfbUXgK/wIsg.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.50.50.119' (ED25519) to the list of known hosts.
[email protected]'s password: 

Welcome to Ubuntu 22.04 LTS (GNU/Linux 5.15.0-25-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.
Last login: Fri May  6 12:21:00 2022
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

daniel@nextcloud:~$

我对 .ssh 文件夹的权限是:

total 57
drwx------  3 daniel daniel     9 maj  6 12:46 .
drwxr-x--- 18 daniel daniel    25 maj  6 00:51 ..
-rw-r--r--  1 daniel daniel   406 aug  7  2018 authorized_keys
-rw-r--r--  1 daniel daniel 12898 apr  1 20:02 config
-rw-------  1 daniel daniel   399 mar  4 20:35 id_ed25519
-rw-r--r--  1 daniel daniel    95 mar  4 20:35 id_ed25519.pub
drwxr-x--- 64 daniel daniel    70 dec 27 10:33 keys
-rw-------  1 daniel daniel   648 maj  6 14:21 known_hosts
-rw-r--r--  1 daniel daniel   142 maj  6 00:31 known_hosts.old

以调试模式运行

daniel@xps9310:~/.ssh$ ssh -vvv [email protected]
OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
debug1: Reading configuration data /home/daniel/.ssh/config
debug1: /home/daniel/.ssh/config line 457: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug2: resolve_canonicalize: hostname 10.50.50.119 is address
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/daniel/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/daniel/.ssh/known_hosts2'
debug3: ssh_connect_direct: entering
debug1: Connecting to 10.50.50.119 [10.50.50.119] port 22.
debug3: set_sock_tos: set socket 3 IP_TOS 0x10
debug1: Connection established.
debug1: identity file /home/daniel/.ssh/id_rsa type -1
debug1: identity file /home/daniel/.ssh/id_rsa-cert type -1
debug1: identity file /home/daniel/.ssh/id_ecdsa type -1
debug1: identity file /home/daniel/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/daniel/.ssh/id_ecdsa_sk type -1
debug1: identity file /home/daniel/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /home/daniel/.ssh/id_ed25519 type 3
debug1: identity file /home/daniel/.ssh/id_ed25519-cert type -1
debug1: identity file /home/daniel/.ssh/id_ed25519_sk type -1
debug1: identity file /home/daniel/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /home/daniel/.ssh/id_xmss type -1
debug1: identity file /home/daniel/.ssh/id_xmss-cert type -1
debug1: identity file /home/daniel/.ssh/id_dsa type -1
debug1: identity file /home/daniel/.ssh/id_dsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.9p1 Ubuntu-3
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.9p1 Ubuntu-3
debug1: compat_banner: match: OpenSSH_8.9p1 Ubuntu-3 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to 10.50.50.119:22 as 'daniel'
debug1: load_hostkeys: fopen /home/daniel/.ssh/known_hosts: No such file or directory
debug1: load_hostkeys: fopen /home/daniel/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug3: order_hostkeyalgs: no algorithms matched; accept original
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,[email protected],diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c
debug2: host key algorithms: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],rsa-sha2-512,rsa-sha2-256
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,[email protected],zlib
debug2: compression stoc: none,[email protected],zlib
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,[email protected],diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256
debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,[email protected]
debug2: compression stoc: none,[email protected]
debug2: languages ctos: 
debug2: languages stoc: 
debug2: first_kex_follows 0 
debug2: reserved 0 
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ssh-ed25519
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug3: send packet: type 30
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug3: receive packet: type 31
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ssh-ed25519 SHA256:YoCAfKKwVzweLXJea3YXz2q7D/6g8VadfbUXgK/wIsg
debug1: load_hostkeys: fopen /home/daniel/.ssh/known_hosts: No such file or directory
debug1: load_hostkeys: fopen /home/daniel/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug3: hostkeys_find_by_key_hostfile: trying user hostfile "/home/daniel/.ssh/known_hosts"
debug1: hostkeys_find_by_key_hostfile: hostkeys file /home/daniel/.ssh/known_hosts does not exist
debug3: hostkeys_find_by_key_hostfile: trying user hostfile "/home/daniel/.ssh/known_hosts2"
debug1: hostkeys_find_by_key_hostfile: hostkeys file /home/daniel/.ssh/known_hosts2 does not exist
debug3: hostkeys_find_by_key_hostfile: trying system hostfile "/etc/ssh/ssh_known_hosts"
debug1: hostkeys_find_by_key_hostfile: hostkeys file /etc/ssh/ssh_known_hosts does not exist
debug3: hostkeys_find_by_key_hostfile: trying system hostfile "/etc/ssh/ssh_known_hosts2"
debug1: hostkeys_find_by_key_hostfile: hostkeys file /etc/ssh/ssh_known_hosts2 does not exist
The authenticity of host '10.50.50.119 (10.50.50.119)' can't be established.
ED25519 key fingerprint is SHA256:YoCAfKKwVzweLXJea3YXz2q7D/6g8VadfbUXgK/wIsg.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.50.50.119' (ED25519) to the list of known hosts.
debug3: send packet: type 21
debug2: ssh_set_newkeys: mode 1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: receive packet: type 21
debug1: SSH2_MSG_NEWKEYS received
debug2: ssh_set_newkeys: mode 0
debug1: rekey in after 134217728 blocks
debug1: get_agent_identities: bound agent to hostkey
debug1: get_agent_identities: agent returned 1 keys
debug1: Will attempt key: /home/daniel/.ssh/id_ed25519 ED25519 SHA256:ESZ4F/mWckhBaqebvK7jh+oZ0SwDQP8sMUdvHzk7xIA agent
debug1: Will attempt key: /home/daniel/.ssh/id_rsa 
debug1: Will attempt key: /home/daniel/.ssh/id_ecdsa 
debug1: Will attempt key: /home/daniel/.ssh/id_ecdsa_sk 
debug1: Will attempt key: /home/daniel/.ssh/id_ed25519_sk 
debug1: Will attempt key: /home/daniel/.ssh/id_xmss 
debug1: Will attempt key: /home/daniel/.ssh/id_dsa 
debug2: pubkey_prepare: done
debug3: send packet: type 5
debug3: receive packet: type 7
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,[email protected],ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected]>
debug1: kex_input_ext_info: [email protected]=<0>
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-with-mic,publickey,keyboard-interactive
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/daniel/.ssh/id_ed25519 ED25519 SHA256:ESZ4F/mWckhBaqebvK7jh+oZ0SwDQP8sMUdvHzk7xIA agent
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/daniel/.ssh/id_rsa
debug3: no such identity: /home/daniel/.ssh/id_rsa: No such file or directory
debug1: Trying private key: /home/daniel/.ssh/id_ecdsa
debug3: no such identity: /home/daniel/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /home/daniel/.ssh/id_ecdsa_sk
debug3: no such identity: /home/daniel/.ssh/id_ecdsa_sk: No such file or directory
debug1: Trying private key: /home/daniel/.ssh/id_ed25519_sk
debug3: no such identity: /home/daniel/.ssh/id_ed25519_sk: No such file or directory
debug1: Trying private key: /home/daniel/.ssh/id_xmss
debug3: no such identity: /home/daniel/.ssh/id_xmss: No such file or directory
debug1: Trying private key: /home/daniel/.ssh/id_dsa
debug3: no such identity: /home/daniel/.ssh/id_dsa: No such file or directory
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
[email protected]: Permission denied (publickey,password).

SSH 版本

daniel@xps9310:~/.ssh$ dpkg -l | grep ssh
ii  libssh-4:amd64                             0.9.6-2build1                           amd64        tiny C SSH library (OpenSSL flavor)
ii  libssh-gcrypt-4:amd64                      0.9.6-2build1                           amd64        tiny C SSH library (gcrypt flavor)
ii  openssh-client                             1:8.9p1-3                               amd64        secure shell (SSH) client, for secure access to remote machines

编辑1: 刚刚发现这个,它与我的问题非常相似:https://serverfault.com/questions/98289/ssh-doesnt-ask-for-password-gives-permission-denied-immediately

答案1

解决了!

解决方案如下:https://askubuntu.com/a/419562/678954

原来我有多个 Identityfile。删除 .ssh/config 中的一个,然后就好了!

相关内容