SSH:权限被拒绝(公钥,gssapi-with-mic,密码)


17

================================================== ==================

更新:事实证明,sshd的配置host2不允许密码登录。感谢人们的回答。

================================================== ==================

场景:为我的大学项目与一家公司合作。我需要先使用PuTTy SSH进入host1,然后再从SSH进入host2(见下文)。在host2上给了我一个用户名和密码。

我根本没有访问host2的权限,因此我不了解它sshd_config

这是我尝试host2host1以下位置SSH进入时发生的情况:

ff@host1:~$ ssh -v host2
OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /home/ff/.ssh/config
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to host2 [192.*.*.*] port 22.
debug1: Connection established.
debug1: identity file /home/ff/.ssh/identity type -1
debug1: identity file /home/ff/.ssh/id_rsa type -1
debug1: identity file /home/ff/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3
debug1: match: OpenSSH_4.3 pat OpenSSH_4*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-5
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'sd01' is known and matches the RSA host key.
debug1: Found key in /home/ff/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
No credentials cache found

debug1: Unspecified GSS failure.  Minor code may provide more information
No credentials cache found

debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Next authentication method: publickey
debug1: Trying private key: /home/ff/.ssh/identity
debug1: Trying private key: /home/ff/.ssh/id_rsa
debug1: Trying private key: /home/ff/.ssh/id_dsa
debug1: Next authentication method: password
ff@sd01's password:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
Permission denied, please try again.
ff@sd01's password:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
Permission denied, please try again.
ff@sd01's password:
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-with-mic,password).

和我的/home/ff/.ssh/config:

Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   HostbasedAuthentication no
    BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   AuthorizedKeysFile .ssh/authorized_keys
#   Cipher 3des
#   Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no

我想知道去公司之前我能做些什么。


主机2上的用户名“ ff”正确吗?
etagenklo 2014年

@etagenklo是的,这就是我得到的。
小黄瓜

您应该咨询的管理员host2
jornane 2014年

我遇到过同样的问题。我认为原因是我在用户的$ HOME / .ssh文件夹中设置了错误。在MV $ HOME / .ssh $ HOME / .ssh.hide之后,我可以使用ssh密码登录
JackBauer35

Answers:


8

主机不接受您尝试使用的用户名和密码。这意味着您连接到错误的服务器,或者用户名或密码不正确。您应该要求管理员检查登录host2,这应该告诉您三种情况中的哪一种。


2
好像您会变得更加愚蠢,因为我拥有正确的密码。然后您会记住不同的键盘布局。感谢您让我再次访问:)
skyw00lker

@ skyw00lker这就是我个人使用字母数字密码的原因。
卡巴斯德(Kasperd),2013年


2

就我而言,这是由主目录的加密引起的。我更改了ssh密钥的位置,并解决了该问题:(Web存档副本) http://tweaktheserver.com/ssh-cant-connect-authentications-that-c​​an-continue-publickeygssapi-keyexgssapi-with-micpassword/


2
请在您的答案中添加解决方案的实质。仅链接的答案容易受到链接腐烂的影响。
Deer Hunter

虽然从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。
马克·亨德森

感谢您的建议。我知道,有效的链接将来可能会成为“ 404错误”,重要的是在答案中提及要点。我也编辑了答案。
user173141 2015年

@DeerHunter是预言:链接腐烂
RIET

@Riet-建议编辑。一切都不会丢失。同时,您可以访问捕获的页面副本
Deer Hunter

1

似乎已在客户端中启用了GSSAPI身份验证,但是它失败了,并退回到了密码身份验证。如果您无法使用提供的登录名和密码登录,那么唯一明智的选择就是与负责管理服务器的人员(“公司”)联系。


1

我遇到了同样的问题,但是对我来说,问题是操作系统(CentOS 7)的默认配置是对用户目录进行加密,因此authorized_keys放置的文件~/.ssh/将无法工作。解决方案来自这里,但基本上是:

  1. /etc/ssh/sshd_config该AuthorizedKeysFile属性设置为用户的目录以外的东西(/etc/ssh/authorized_keys
  2. 重新启动sshd服务


-1

我需要授予/home/ec2-user权限700:

chmod -R 700 /home/ec2-user/

为什么投票删除?
duhaime

-1

让我补充一点,您应该确保密钥属于您的用户。

键入ls -la以查看您的密钥属于哪个用户。

您可以更改所有权:

sudo chown ubuntu:root myKey  //If you are using ubuntu.

同时确保:

  • .pem如果使用linux,则使用正确的密钥(putty不同)
  • 您已设置正确的密钥权限: sudo chmod 400 mykey.pem
  • 您使用的是正确的用户名: ssh -i mykey user@instanceip

-2

你可以试试

ssh server -l user -o "PubkeyAuthentication=no"

或在/ etc / ssh / sshd_config中,添加/修改属性

PermitRootLogin yes

ssh server -l user -o "PubkeyAuthentication=no" 等于 ssh user@server -o "PubkeyAuthentication=no"
阿德里亚诺

-2

$ ssh Vagrant@192.168.33.11 -i .vagrant /机器/默认/ virtualbox / private_key

这对我有用

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.