ssh:权限被拒绝(publickey,gssapi-with-mic)

时间:2016-03-30 05:31:33

标签: ssh centos gitlab

我使用centos 5.9。 在这个link ssh安装gitlab之后无法正常工作。 在安装gitlab ssh之前正确工作。 我正在使用这个服务器localy和其他服务,如elastix和apache,mysql安装在服务器上。

出现此错误:

OpenSSH_6.9p1 Ubuntu-2ubuntu0.1, OpenSSL 1.0.2d 9 Jul 2015
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 192.168.88.23 [192.168.88.23] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
                                        debug1: Local version string SSH-2.0-OpenSSH_6.9p1 Ubuntu-2ubuntu0.1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.3
debug1: match: OpenSSH_4.3 pat OpenSSH_4* compat 0x00000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to 192.168.88.23:22 as 'root'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: curve25519-sha256@libssh.org,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: ssh-rsa-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-rsa,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-dss-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,ssh-dss
debug2: kex_parse_kexinit: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-md5-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-md5-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit: none,zlib@openssh.com,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: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
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,rijndael-cbc@lysator.liu.se
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,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit: none,zlib@openssh.com
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 aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<7680<8192) sent
debug1: got SSH2_MSG_KEX_DH_GEX_GROUP
debug2: bits set: 3111/6144
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: got SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: ssh-rsa SHA256:7J6JOe94H9PedNKlx6yG/wMy6ZYC8iB74WdOVGDgY7A
debug1: Host '192.168.88.23' is known and matches the RSA host key.
    debug1: Found key in /root/.ssh/known_hosts:1
debug2: bits set: 3102/6144
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: /root/.ssh/id_rsa ((nil)),
debug2: key: /root/.ssh/id_dsa ((nil)),
debug2: key: /root/.ssh/id_ecdsa ((nil)),
debug2: key: /root/.ssh/id_ed25519 ((nil)),
debug1: Authentications that can continue: publickey,gssapi-with-mic
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
No Kerberos credentials available

debug1: Unspecified GSS failure.  Minor code may provide more information
No Kerberos credentials available

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


debug1: Unspecified GSS failure.  Minor code may provide more information
No Kerberos credentials available

debug2: we did not send a packet, disable method
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Trying private key: /root/.ssh/id_ecdsa
debug1: Trying private key: /root/.ssh/id_ed25519
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-with-mic).

21 个答案:

答案 0 :(得分:24)

使用vagrant时遇到了同样的问题。所以从我的Mac我试图ssh到一个流浪盒(CentOS 7)

通过修改/ etc / ssh / sshd_config&#39; PasswordAuthentication yes&#39;解决了这个问题。然后重新启动服务&#39; sudo systemctl restart sshd&#39;

希望这有帮助。

答案 1 :(得分:8)

正如其他人已经说过你需要修改/etc/ssh/sshd_config并将PasswordAuthentication no更改为PasswordAuthentication yes

我遇到了设置Vagrant框的问题 - 所以编写脚本并在shell配置程序中自动执行它是有意义的:

sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config;

sudo systemctl restart sshd;

答案 2 :(得分:6)

将.ssh设置为700并将authorized_keys设置为600即可解决此问题。

chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys

答案 3 :(得分:3)

根据行A[1:, 2],ssh密码验证被禁用,显然您没有使用公钥验证。

使用控制台登录您的服务器并使用带root用户的编辑器打开debug1: Authentications that can continue: publickey,gssapi-with-mic文件并查找行/etc/ssh/sshd_config,然后将其值设置为yes,最后重新启动sshd服务。

答案 4 :(得分:1)

在Centos 7中

错误:publickey,gssapi-keyex,gssapi-with-mic

Ans:root访问vi / etc / ssh / sshd_config并将PasswordAuthentication(no)更改为yes。

2。重启sshd服务

根&GT; systemctl restart sshd.service

  1. 无钥匙通过putty登录本地ID。

答案 5 :(得分:1)

请确保不对以下更改进行注释,这是我在centos7中所做并获得成功的

vi / etc / ssh / sshd_config

1.PubkeyAuthentication是

2.PasswordAuthentication是

3.GSSAPIKeyExchange否

4.GSSAPICleanupCredentials否

systemctl重新启动sshd

ssh-keygen

chmod 777 /root/.ssh/id_rsa.pub

ssh-copy-id -i /root/.ssh/id_rsa.pub user @ ipaddress

谢谢大家,祝你好运

答案 6 :(得分:1)

我尝试

rm ~/.ssh/id_rsa.pub

然后运行!

答案 7 :(得分:1)

没有人在上面的答案中提到这一点,所以我在提及它。

如果您在错误的文件夹中或pem文件的路径不正确,也会出现此错误。我遇到了类似的问题,发现我执行ssh命令的位置不存在我的pem文件

cd KeyPair
ssh -i Keypair.pem ec2-user@244.255.255.255

答案 8 :(得分:0)

我知道这是一个老问题,但我想我会在锅中添加我的修复。

我在尝试从 Ubuntu 连接到 Amazon Linux 时遇到了同样的错误。解决方案是简单地改变这一点:

ssh-add -c <key_location>.pem

为此:

ssh-add "<key_location>.pem"

...非常简单的改变让我进入了。

答案 9 :(得分:0)

让我与您分享我是如何做到的,我相信您会找到好的答案 here

确保以下内容

<块引用>

第 1 步。您有 Public DNS (IPv4) from aws 例如 ec2-IPV4.us-east-2.compute.amazonaws.com

<块引用>

第 2 步。您记住 your_secret_key_is.pem 的位置,例如最好将其远离下载、桌面或文档等已知文件夹的根目录

<块引用>

步骤 3 打开终端并添加命令 sudo ssh -v -i path-to-key.pem ec2-user@host

ec2-user 很重要,因为它对于某些 linux 服务器来说是用户名

sudo 需要权限才能执行

host 它是 Amazon Public DNS (IPv4)(复制步骤 1)

查找更多信息here

答案 10 :(得分:0)

我之前遇到了同样的问题 Permission denied (publickey, gssapi-keyex, gssapi-with-mic)。

我不得不去 /etc/ssh/sshd_config 将用户用户添加到 AllowUsers 部分,然后重新启动 sshd 服务。

答案 11 :(得分:0)

对我来说这是一个完全错误,有人将密钥与另一个密钥复制粘贴到同一行中,将它们分成两行后再次运行,因此请检查您的authorized_key文件是否有类似错误!

答案 12 :(得分:0)

希望,这会对某人有所帮助。我遇到的问题是,我完全使用了错误的 IP 密钥。确保您使用正确的密钥获得正确的 IP

答案 13 :(得分:0)

如果您缺少在 Authorized_keys 中为 AWS 实例设置的正确 id_rsa 密钥,就会发生这种情况。

我得到的确切错误(这篇文章是我在谷歌上搜索错误时出现的):

ec2-user@X.X.X.X: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

注意:如果您有很多密钥,则必须在 ssh 命令行上指定密钥,或者将其添加到 ssh-agent 密钥中(请参阅 ssh-add -l)。只有来自 ssh-agent 的前 6 个密钥可以工作 - 默认的 sshd MaxAuthTries 配置值为 6。

答案 14 :(得分:0)

首先必须建立到远程计算机的密码登录

  • 首先进行密码登录

您必须通过启用sshd_config文件中的属性(即) PasswordAuthentication yes 来启用密码登录。然后重新启动sshd服务并将pub键复制到远程服务器(本例中为aws ec2),密钥将被复制而没有任何错误

  • 仅当首先进行密码登录时,不使用密码登录才有效
  • 将发布密钥内容复制到授权密钥cat xxx.pub >>〜/ .ssh / authorized_keys

答案 15 :(得分:0)

我有同样的问题。就我而言,macOS不会加载我的SSH密钥,但我可以通过以下方式修复它:

ssh-add <SSH private key>
ssh-add <SSH public key>

我无法连接到DigitalOcean上的Droplet,但是后续命令对我有用。

您可以进入论坛here

答案 16 :(得分:0)

而且我认为这将消除引起问题的原因,实际上这是pssh本身的错误(包含在“ askpass-client.py”内部)。这是pssh的lib文件。并存在针对-A案例的已记录问题: https://code.google.com/archive/p/parallel-ssh/issues/80 如果您被迫使用密码短语进行私钥访问,有两种可能的解决方案可以使用包含此错误的pssh版本:

  1. 按照我的帖子前面列出的链接所述,更正您的“ askpass-client.py”。
  2. 使用您喜欢的通行证。

感谢,希望对您有所帮助!

答案 17 :(得分:0)

将PasswordAuthentication设置为yes,不是最好的选择, 不像使用私钥和公钥进行身份验证一样安全!

首先,请确保在服务器端已设置了休闲权限。

首先检查您的主目录(服务器端)

[vini@random ~]$ ls -ld ~

drwx------. 3 vini vini 127 Nov 23 15:29 /home/vini

如果不是这样,请运行

chmod 0700 /home/your_home

现在检查.ssh文件夹

[vini@random ~]$ ls -ld  /home/vini/.ssh/

drwx------. 2 vini vini 29 Nov 23 15:28 /home/vini/.ssh/

如果看起来不是这样,请运行

chmod 0700 /home/your_home/.ssh

现在确保authorized_keys看起来像这样

[vini@venon ~]$ ls -ld  /home/vini/.ssh/authorized_keys 

-rw-------. 1 vini vini 393 Nov 23 15:28 /home/vini/.ssh/authorized_keys

或者只是运行

chmod 0600 /home/your_home/.ssh/authorized_keys

之后转到/etc/ssh/sshd_config

为了获得最佳安全性

PermitRootLogin no

PubkeyAuthentication yes

出于测试目的,保留为yes

PasswordAuthentication yes

确保

ChallengeResponseAuthentication no

注释这些行用于GSSAPI

# #GSSAPIAuthentication yes
# #GSSAPICleanupCredentials no

确保将其设置为UsePAM yes

UsePAM yes

现在重新启动sshd服务

systemctl restart sshd 

在客户端

cd /home/your_home/.ssh

生成新密钥;设置密码是可选的,但这是一个好主意

ssh-keygen -t rsa -b 2048  

将发布密钥复制到您的服务器

ssh-copy-id -i id_rsa.pub user_name@server_ip 

start ssh agent 

eval $(ssh-agent)

ssh-add /home/user/.ssh/your_private_key

现在你很好!

ssh user_name@server_ip

如果一切都很好

备份您的私钥,然后拒绝PasswordAuthentication

PasswordAuthentication no 

重新启动服务器

现在任何试图在没有您的密钥的情况下进入您的服务器的人都应该获得

vini@random: Permission denied (publickey).

让脚本孩子远离您的业务,祝您好运

答案 18 :(得分:0)

也许您应该将公用密钥分配给authorized_keys,执行此操作的简单方法是使用ssh-copy-id -i your-pub-key-file user@dest

答案 19 :(得分:0)

尝试了很多事情,没有用。

以简单的方式访问:

eval $(ssh-agent) > /dev/null
killall ssh-agent
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa

请注意,ssh-add -L输出的末尾必须不是密钥的路径,而是您的电子邮件。

答案 20 :(得分:0)

通过在/ etc / ssh / sshd_config中将GSSAPIAuthentication设置为no来修复