SSH:禁用密码validation后,无法使用密钥login

我有一个Ubuntu的服务器是在亚马逊EC2。 之前我曾经用实例启动时生成的原始pem密钥文件login。

ssh -i /path/to/key.pem [email protected] 

我试图停止密码身份validation,并在sshd_config中进行了以下更改。

 ChallengeResponseAuthentication no PasswordAuthentication no UsePAM no 

繁荣。 键login停止工作,并给我'权限被拒绝(公钥)'错误。

有趣的是,我为使用ssh-keygen的非root用户创build了一个rsa密钥。 即使现在也行。 但ec2 pem密钥文件不起作用。

注意:如果我将UsePam更改为“是”,则pem键将再次启动。 我能够在另一台机器上重现此问题。 但是,在第一台机器上,由于密钥文件无法工作,我失去了获得root权限的能力。 所以不能对sshd_config文件做任何修改。

ssh日志如下所示。

 OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to ec2-xx.xx.us-west-2.compute.amazonaws.com [xx.xx.xx.xx] port 22. debug1: Connection established. debug3: Incorrect RSA1 identifier debug3: Could not load "/home/amitoj/.ssh/backupshard.pem" as a RSA1 public key debug1: identity file /home/amitoj/.ssh/backupshard.pem type -1 debug1: identity file /home/amitoj/.ssh/backupshard.pem-cert type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1Debian- 5ubuntu1.1 debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.1 debug2: fd 3 setting O_NONBLOCK debug3: load_hostkeys: loading entries for host "ec2-xx.xx.xx.xx.us- west-2.compute.amazonaws.com" from file "/home/amitoj/.ssh/known_hosts" debug3: load_hostkeys: found key type ECDSA in file /home/amitoj/.ssh/known_hosts:70 debug3: load_hostkeys: loaded 1 keys debug3: order_hostkeyalgs: prefer hostkeyalgs: ecdsa-sha2-nistp256- [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: 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],ssh-rsa,ssh-dss debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,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: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdhsha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256 debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected] debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256cbc,arcfour,[email protected] debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,[email protected],hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96 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 debug2: mac_setup: found hmac-md5 debug1: kex: server->client aes128-ctr hmac-md5 none debug2: mac_setup: found hmac-md5 debug1: kex: client->server aes128-ctr hmac-md5 none debug1: sending SSH2_MSG_KEX_ECDH_INIT debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: Server host key: ECDSA 2d:19:d0:63:49:d9:f7:30:26:3f:6e:ff:8e:63:4d:c5 debug3: load_hostkeys: loading entries for host "ec2-xx.xx.xx.uswest-2.compute.amazonaws.com" from file "/home/amitoj/.ssh/known_hosts" debug3: load_hostkeys: found key type ECDSA in file /home/amitoj/.ssh/known_hosts:70 debug3: load_hostkeys: loaded 1 keys debug3: load_hostkeys: loading entries for host "xx.xx.xx.xx" from file "/home/amit/.ssh/known_hosts" debug3: load_hostkeys: found key type ECDSA in file /home/amitoj/.ssh/known_hosts:71 debug3: load_hostkeys: loaded 1 keys debug1: Host 'ec2-xx.xx.xx.xx.us-west-2.compute.amazonaws.com' is known and matches the ECDSA host key. debug1: Found key in /home/amitoj/.ssh/known_hosts:70 debug1: ssh_ecdsa_verify: signature correct debug2: kex_derive_keys 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: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug2: key: /home/amitoj/.ssh/backupshard.pem ((nil)) debug1: Authentications that can continue: publickey debug3: start over, passed a different list publickey debug3: preferred gssapi-keyex,gssapi-with-mic,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: Trying private key: /home/amitoj/.ssh/backupshard.pem debug1: read PEM private key done: type RSA debug3: sign_and_send_pubkey: RSA 69:ff:93:01:27:57:00:23:6e:2b:90:72:16:15:65:bb debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey debug2: we did not send a packet, disable method debug1: No more authentication methods to try. Permission denied (publickey). 

任何想法如何通过“pem”密钥文件进入root用户?

在下一个实例化中,使用“CloudInit”特性之一,并提供一个用户数据脚本来编辑/修复'sshd_config'。 一个简单的“sed”命令应该可以工作。