ssh : Permission denied (publickey,gssapi-with-mic)

SshCentosGitlab

Ssh Problem Overview


i'm use centos 5.9. after installing gitlab by this link ssh not working. before install gitlab ssh correctly working. i'm using this server localy and other services such as elastix and apache,mysql installed on server.

appeare this error :

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: [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],ssh-rsa,[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,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: umac-64[email protected],umac-128[email protected],hmac-sha2-256[email protected],hmac-sha2-512[email protected],[email protected],umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1,[email protected],[email protected],hmac-sha1-96[email protected],hmac-md5-96[email protected],hmac-md5,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: umac-64[email protected],umac-128[email protected],hmac-sha2-256[email protected],hmac-sha2-512[email protected],[email protected],umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1,[email protected],[email protected],hmac-sha1-96[email protected],hmac-md5-96[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: 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,[email protected]
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: hmac-md5,hmac-sha1,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,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 
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).

Ssh Solutions


Solution 1 - Ssh

I had the same issue while using vagrant. So from my Mac I was trying to ssh to a vagrant box (CentOS 7)

Solved it by amending the /etc/ssh/sshd_config PasswordAuthentication yes then re-started the service using sudo systemctl restart sshd

Hope this helps.

Solution 2 - Ssh

Setting 700 to .ssh and 600 to authorized_keys solved the issue.

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

Solution 3 - Ssh

Setting PasswordAuthentication to yes, is not the best way to go , is not as secure as using private and public keys for authentication !

First make sure that that you have the fallowing permissions set, on the server side.

First check your home dir (SERVER SIDE)

[vini@random ~]$ ls -ld ~

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

if it is not like this, run

chmod 0700 /home/your_home

Now check .ssh folder

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

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

if it is not looking like this, run

chmod 0700 /home/your_home/.ssh

now make sure that authorized_keys looks like this

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

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

or just run

chmod 0600 /home/your_home/.ssh/authorized_keys

After that go to /etc/ssh/sshd_config

For best security set

PermitRootLogin no

PubkeyAuthentication yes

keep as yes for testing purposes

PasswordAuthentication yes

Make sure that

ChallengeResponseAuthentication no

Comment those lines for GSSAPI

# #GSSAPIAuthentication yes
# #GSSAPICleanupCredentials no

Make sure that is set to UsePAM yes

UsePAM yes

now restart sshd service

systemctl restart sshd 

on the client side

cd /home/your_home/.ssh

generate new keys; setting a password is optional but is a good idea

ssh-keygen -t rsa -b 2048  

copy pub key to your server

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

now your are good to go !

ssh user_name@server_ip

if everything works just fine

make a backup of your private key and then deny PasswordAuthentication

PasswordAuthentication no 

Restart you server

now anyone trying to ssh into your server, without your keys should get

vini@random: Permission denied (publickey).

keep script kids away from your business, and good luck

Solution 4 - Ssh

As everybody else has already said you need to edit /etc/ssh/sshd_config and change PasswordAuthentication no to PasswordAuthentication yes

I ran into this problem setting up a Vagrant box - so therefore it makes sense to script this and do it automatically in a shell provisioner:

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

sudo systemctl restart sshd;

Solution 5 - Ssh

According to the line debug1: Authentications that can continue: publickey,gssapi-with-mic , ssh password authentication is disabled and apparently you are not using public key authentication.

Login to your server using console and open /etc/ssh/sshd_config file with an editor with root user and look for line PasswordAuthentication then set it's value to yes and finally restart sshd service.

Solution 6 - Ssh

please make sure following changes should be uncommented, which I did and got succeed in centos7

vi /etc/ssh/sshd_config

1.PubkeyAuthentication yes

2.PasswordAuthentication yes

3.GSSAPIKeyExchange no

4.GSSAPICleanupCredentials no

systemctl restart sshd

ssh-keygen

chmod 777 /root/.ssh/id_rsa.pub 

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

thank you all and good luck

Solution 7 - Ssh

The isssue is the username for most publickey errors on centos instances on AWS. For Permission denied (publickey,gssapi-keyex,gssapi-with-mic):

its pretty simple. Just change your username from centos to ec2-user and the issue is solved.

Thank me later :)

Solution 8 - Ssh

Tried a lot of things, it did not help.

It get access in a simple way:

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

Note that at the end of the ssh-add -L output must be not a path to the key, but your email.

Solution 9 - Ssh

I had the same problem. In my case, macOS doesn't load my SSH keys, but I fix it with:

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

I couldn't connect to a Droplet on DigitalOcean, but the subsequent commands work for me.

You can go to the forum here.

Solution 10 - Ssh

In Centos 7

Error : publickey,gssapi-keyex,gssapi-with-mic

Ans : Root access to vi /etc/ssh/sshd_config and change the PasswordAuthentication ( no ) to yes.

2 . Restart the sshd services

root> systemctl restart sshd.service

  1. Logon into local id via putty without key.

Solution 11 - Ssh

I try

rm ~/.ssh/id_rsa.pub

then it work!

Solution 12 - Ssh

Nobody has mention this in. above answers so i am mentioning it.

This error can also come if you're in the wrong folder or path of your pem file is not correct. I was having similar issue and found that my pem file was not there from where i am executing the ssh command

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

Solution 13 - Ssh

I know this is an old question, but thought I'd add my fix in the pot.

I was getting the same error trying to connect to Amazon Linux from Ubuntu. The solution was to simply change this:

ssh-add -c <key_location>.pem

to this:

ssh-add "<key_location>.pem"

... pretty simple change there got me in.

Solution 14 - Ssh

As a few others have mentioned, make sure you are using the right private key when you ssh into your server. I had multiple ssh private keys set up in my directory, so it was defaulting to a different key. To ssh with the correct key call it out in your CLI call ssh centos@IP-ADDRESS -i YOUR-PATH-TO-KEY, in my case the path was ~/.ssh/id_rsa

Solution 15 - Ssh

fixed by setting GSSAPIAuthentication to no in /etc/ssh/sshd_config

Solution 16 - Ssh

Maybe you should assign the public key to the authorized_keys, the simple way to do this is using ssh-copy-id -i your-pub-key-file user@dest.

Solution 17 - Ssh

And I think this will clearify the cause of posted problem, actualy this is bug of pssh itself (contains inside "askpass-client.py"). It is pssh's lib file. And there is documented issue for -A case: https://code.google.com/archive/p/parallel-ssh/issues/80 There are two possible resolutions to use version of pssh containing this bug in case you forced to use passphrase for private key access:

  1. Correct your "askpass-client.py" as described in link listed before in my post.
  2. Using your favorite pass keeper.

Thnks for attention, hope it helps!

Solution 18 - Ssh

First a password login has to be established to remote machine

  • Firstly make a password login

you have to enable a password login by enabling the property ie) PasswordAuthentication yes in sshd_config file.Then restart the sshd service and copy the pub key to remote server (aws ec2 in my case), key will be copied without any error

  • Without password login works if and only if password login is made first
  • copy the pub key contents to authorised keys, cat xxx.pub >> ~/.ssh/authorized_keys

Solution 19 - Ssh

This can happen if you are missing the correct id_rsa key set up in authorized_keys for an AWS instance.

Exact error I got (this article came up when I googled the error):

[email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

Note: If you have many keys, you have to either specify the key on the ssh command line or else add it to you ssh-agent keys (see ssh-add -l). Only the first 6 keys from ssh-agent may work - the default sshd MaxAuthTries config value is 6.

Solution 20 - Ssh

Hope, this will help someone. Problem I encountered is, I was completely using wrong key with the IP. Make sure you are using the right key for the right IP

Solution 21 - Ssh

For me it is a completely mistake, someone copy paste the key into the same row with another key, after separating them into two different lines then it works again, so check if your authorized_key file has similar mistakes !

Solution 22 - Ssh

I had same issue Permission denied (publickey, gssapi-keyex, gssapi-with-mic) earlier.

I had to go /etc/ssh/sshd_config to add the user user into AllowUsers section, then restarted sshd service.

Solution 23 - Ssh

Let me share with you how I did it and I am sure you will find good answer here.

Make sure the following

> Step 1. You have Public DNS (IPv4) from aws E.g ec2-IPV4.us-east-2.compute.amazonaws.com

> Step 2. You remember where your your_secret_key_is.pem E.g its better to keep it far from root of the known folders like Downloads, Desktop or Documents

> Step 3 Open terminal and add the command sudo ssh -v -i path-to-key.pem ec2-user@host

ec2-user is important because it for some linux server it is the username

sudo it needs permission to execute

host It is Amazon Public DNS (IPv4) (copy step 1)

Find more info here

Solution 24 - Ssh

Permission denied (publickey)

seems like an issue generated by the ssh client rather than the ssh server in my case. Here's what caused my problem and how I solved. The problem source is I used sudo to generate the keys like this:

sudo ssh-keygen -t ed25519 -f ~/.ssh/serverA_ed25519_key

This automatically set the owner of these key files to root only, so my current user doesn't have permission to read the keys.

Now solution #1 is change the file ownership to your current user. This's what I did.

sudo chown CURRENT_USER ~/.ssh/serverA_ed25519_key

Solution #2 would be just run ssh client with sudo when you try to connect to the ssh server.

Finally, a trick to find the source of problem with ssh client.

ssh -v -o IdentitiesOnly=yes -i ~/.ssh/serverA_ed25519_key me@serverA

This let me focus on the problem by:

  • show verbose info by -v flag.
  • the -o option and -i ~/.ssh/serverA_ed25519_key force ssh client to try with this key ONLY, not all the keys you have.

Solution 25 - Ssh

I also have this error info : Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

Using cmd: ssh -i "~/.ssh/old.pem" user@ip cause the error.

Problem is old.pem has been deprecated, after changing to newest pem file, the error disappears.

Solution 26 - Ssh

The issue is simple, the owner for the key should be one in case if windows ( Just remove other users and keep only one or deny other users permissions) for linux/Mac just do a chmod 400 as this will only give read permission only to the user and no permission to groups or public.

Solution 27 - Ssh

I run into this strange error whiles connecting from my Mac(host) to a CentOS(7.9) guest. I had to explicitly passed the key file to the ssh client ssh root@ip -i private_key_file before connection was successful.

Earlier on, I had enabled the following after the usual key generation with ssh-keygen and copying with ssh-copy-id

> PermitRootLogin yes #Logging in with root, it was set by default
PasswordAuthentication no

I decided against using the default name provided by ssh-keygen though the generated file was saved at the same location as the default.

I left the other default values untouched. Don't forget to restart sshd on the remote machine.

Solution 28 - Ssh

I got Sucess !! I've copied my ssh_keys from my other machine and tryed to log to my AWS EC2, but it failed:

sign_and_send_pubkey: signing failed for RSA "/home/xxxx/.ssh/my_rsa" from agent: agent refused operation [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

The solution was:

cd $HOME/.ssh

ls -l

-r-x------ 1 xxxx xxxx 1766 May 4 09:13 id_rsa

-r-x------ 1 xxxx xxxx 405 May 4 09:13 id_rsa.pub

-rw-r--r-- 1 xxxx xxxx 444 May 6 17:18 known_hosts

Optional command: rm known_hosts

chmod 400 id*

ssh -i ./id_rsa.pub [email protected]

Last login: Fri May 6 19:09:48 2022 from 123.456.77.9

   __|  __|_  )
   _|  (     /   Amazon Linux 2 AMI
  ___|\___|___|

Solution 29 - Ssh

Just run this to add your key to localhost of current user.

 ssh-copy-id localhost

Solution 30 - Ssh

In my case, I was using wrong username. Fixed that and the issue got resolved.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionali moradiView Question on Stackoverflow
Solution 1 - SshredsuView Answer on Stackoverflow
Solution 2 - Sshahesh lakmalView Answer on Stackoverflow
Solution 3 - SshviniView Answer on Stackoverflow
Solution 4 - SshJohnView Answer on Stackoverflow
Solution 5 - SshAli Yousefi SabzevarView Answer on Stackoverflow
Solution 6 - Sshuser12459759View Answer on Stackoverflow
Solution 7 - SshDuru Cynthia UdokaView Answer on Stackoverflow
Solution 8 - SshNick LatkovichView Answer on Stackoverflow
Solution 9 - SshElvisView Answer on Stackoverflow
Solution 10 - SshSenthilView Answer on Stackoverflow
Solution 11 - SshiiiView Answer on Stackoverflow
Solution 12 - SshMihir MehtaView Answer on Stackoverflow
Solution 13 - SshImTryingMyBestView Answer on Stackoverflow
Solution 14 - SshdeesolieView Answer on Stackoverflow
Solution 15 - Sshseh_nottsView Answer on Stackoverflow
Solution 16 - SshArvinView Answer on Stackoverflow
Solution 17 - SshFedulov OlegView Answer on Stackoverflow
Solution 18 - SshRamakrishna NimmathotaView Answer on Stackoverflow
Solution 19 - SshCurtis YallopView Answer on Stackoverflow
Solution 20 - SshSKannaianView Answer on Stackoverflow
Solution 21 - SshAngiaView Answer on Stackoverflow
Solution 22 - SshPatrick DingView Answer on Stackoverflow
Solution 23 - SshNiyongabo EricView Answer on Stackoverflow
Solution 24 - SshTennomView Answer on Stackoverflow
Solution 25 - SshridoxView Answer on Stackoverflow
Solution 26 - Sshsks123245View Answer on Stackoverflow
Solution 27 - SshkodepetView Answer on Stackoverflow
Solution 28 - SshMarcello HeldView Answer on Stackoverflow
Solution 29 - SshErkan ŞirinView Answer on Stackoverflow
Solution 30 - SshSiddhantView Answer on Stackoverflow