好的,我知道之前已经问过这个问题。我尝试了在最近的相关问题中发布的所有内容,但没有一个有效。我之前能够登录,但现在无法登录。
- 我尝试过使用root@ipadress
和ec2-user@ipaddress
两者都没有效果。当我使用root时,它告诉我使用ec2-user。我是从ubuntu 16.04 sshing
- 我对我的pem文件有正确的权限。
- 此外,我没有/etc/sshd_special_user
文件,并且不确定添加一个文件会做什么,但它确实在第一次失败后尝试对我的本地用户进行身份验证。
- 当我ssh-keygen -f " ~/.ssh/known_hosts" -R xx.xx.xxx.xxx
时,我得到mkstemp: No such file or directory
。即使我认为该文件存在,我也可以在vim中打开它。
我真的很困惑这里发生了什么,并将包含额外的详细日志文件与此问题。我仔细阅读了它,并且不确定它为什么要做它正在做的事情。
ssh -vvv
的输出
-OpenSSH_7.2p2 Ubuntu-4ubuntu2.1,OpenSSL 1.0.2g 2016年3月1日
-debug1:读取配置数据/ etc / ssh / ssh_config
-debug1:/ etc / ssh / ssh_config第19行:应用*
的选项-debug2:解决" 52.53.159.22" 22号港口
-debug2:ssh_connect_direct:needpriv 0
-debug1:连接到52.53.159.22 [52.53.159.22]端口22。
-debug1:已建立连接。
-debug1:key_load_public:没有这样的文件或目录
-debug1:身份文件.ssh / RH17-06-11.pem类型-1
-debug1:key_load_public:没有这样的文件或目录
-debug1:身份文件.ssh / RH17-06-11.pem-cert type -1
-debug1:启用协议2.0的兼容模式
-debug1:本地版本字符串SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.1
-debug1:远程协议版本2.0,远程软件版本OpenSSH_6.6.1
-debug1:match:OpenSSH_6.6.1 pat OpenSSH_6.6.1 * compat 0x04000000
-debug2:fd 3设置O_NONBLOCK
-debug1:以52.53.159.22:22身份验证为' ec2-user'
-debug3:hostkeys_foreach:阅读文件" /home/dingofarmers/.ssh/known_hosts"
-debug3:record_hostkey:找到文件中的密钥类型ECDSA /home/dingofarmers/.ssh/known_hosts:21
-debug3:load_hostkeys:从52.53.159.22加载1个密钥
-debug3:order_hostkeyalgs:prefer hostkeyalgs:ecdsa-sha2-nistp256-cert-v01 @ openssh.com,ecdsa-sha2-nistp384-cert-v01 @ openssh.com,ecdsa-sha2-nistp521-cert-v01 @ openssh .COM,ECDSA-SHA2-nistp256,ECDSA-SHA2-nistp384,ECDSA-SHA2-nistp521
-debug3:发送数据包:输入20
-debug1:发送了SSH2_MSG_KEXINIT
-debug3:接收数据包:输入20
-debug1:收到SSH2_MSG_KEXINIT
-debug2:本地客户端KEXINIT提案
-debug2:KEX算法: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,EXT-信息-C
-debug2:主机密钥算法:ecdsa-sha2-nistp256-cert-v01 @ openssh.com,ecdsa-sha2-nistp384-cert-v01 @ openssh.com,ecdsa-sha2-nistp521-cert-v01 @ openssh。 COM,ECDSA-SHA2-nistp256,ECDSA-SHA2-nistp384,ECDSA-SHA2-nistp521,SSH-ed25519-CERT-V01 @ openssh.com,支持SSH-RSA-CERT-V01 @ openssh.com,SSH-ed25519,rsa- sha2-512,RSA-sha2-256,SSH-RSA
-debug2:ciphers ctos:chacha20-poly1305 @ openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm @ openssh.com,aes256-gcm @ openssh.com,aes128-cbc,aes192 -cbc,AES256-CBC,3DES-CBC
-debug2:ciphers stoc:chacha20-poly1305 @ openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm @ openssh.com,aes256-gcm @ openssh.com,aes128-cbc,aes192 -cbc,AES256-CBC,3DES-CBC
-debug2:MACs ctos: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
-debug2:MACs stoc: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
-debug2:compression ctos:none,zlib @ openssh.com,zlib
-debug2:compression stoc:none,zlib @ openssh.com,zlib
-debug2:languages ctos:
-debug2:languages stoc:
-debug2:first_kex_follows 0
-debug2:reserved 0
-debug2:对等服务器KEXINIT提案
-debug2:KEX算法: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-组1-SHA1
-debug2:主机密钥算法:ssh-rsa,ecdsa-sha2-nistp256,ssh-ed25519
-debug2:ciphers ctos:aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm @ openssh.com,aes256-gcm @ openssh.com,chacha20-poly1305 @ openssh.com,aes128 -cbc,3DES-CBC,河豚-CBC,CAST128-CBC,AES192-CBC,AES256-CBC,ARCFOUR,Rijndael算法-CBC @ lysator.liu.se
-debug2:ciphers stoc:aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm @ openssh.com,aes256-gcm @ openssh.com,chacha20-poly1305 @ openssh.com,aes128 -cbc,3DES-CBC,河豚-CBC,CAST128-CBC,AES192-CBC,AES256-CBC,ARCFOUR,Rijndael算法-CBC @ lysator.liu.se。
-debug2:MACs ctos:hmac-md5-etm @ openssh.com,hmac-sha1-etm @ openssh.com,umac-64-etm @ openssh.com,umac-128-etm @ openssh.com,hmac -sha2-256-ETM @ openssh.com,HMAC-sha2-512-ETM @ openssh.com,HMAC-RIPEMD160-ETM @ openssh.com,HMAC-SHA1-96-ETM @ openssh.com,HMAC-MD5-96 -etm @ openssh.com,HMAC-MD5,HMAC-SHA1,UMAC-64 @ openssh.com,UMAC-128 @ openssh.com,HMAC-sha2-256,HMAC-sha2-512,HMAC-RIPEMD160,HMAC-RIPEMD160 @ openssh.com,HMAC-SHA1-96,HMAC-MD5-96
-debug2:MACs stoc:hmac-md5-etm @ openssh.com,hmac-sha1-etm @ openssh.com,umac-64-etm @ openssh.com,umac-128-etm @ openssh.com,hmac -sha2-256-ETM @ openssh.com,HMAC-sha2-512-ETM @ openssh.com,HMAC-RIPEMD160-ETM @ openssh.com,HMAC-SHA1-96-ETM @ openssh.com,HMAC-MD5-96 -etm @ openssh.com,HMAC-MD5,HMAC-SHA1,UMAC-64 @ openssh.com,UMAC-128 @ openssh.com,HMAC-sha2-256,HMAC-sha2-512,HMAC-RIPEMD160,HMAC-RIPEMD160 @ openssh.com,HMAC-SHA1-96,HMAC-MD5-96
-debug2:compression ctos:none,zlib @ openssh.com
-debug2:compression stoc:none,zlib @ openssh.com
-debug2:languages ctos:
-debug2:languages stoc:
-debug2:first_kex_follows 0
-debug2:reserved 0
-debug1:kex:algorithm:curve25519-sha256@libssh.org
-debug1:kex:主机密钥算法:ecdsa-sha2-nistp256
-debug1:kex:server-> client cipher:chacha20-poly1305@openssh.com MAC:compression:none
-debug1:kex:client-> server cipher:chacha20-poly1305@openssh.com MAC:compression:none
-debug3:发送数据包:输入30
-debug1:期待SSH2_MSG_KEX_ECDH_REPLY
-debug3:接收数据包:输入31
-debug1:服务器主机密钥:ecdsa-sha2-nistp256 SHA256:qaPtcCft8A + sNZTbFvAsKBPQVvKRqdBYEV93An / SY + w
-debug3:hostkeys_foreach:阅读文件" /home/dingofarmers/.ssh/known_hosts"
-debug3:record_hostkey:找到文件中的密钥类型ECDSA /home/dingofarmers/.ssh/known_hosts:21
-debug3:load_hostkeys:从52.53.159.22加载1个密钥
-debug1:Host' 52.53.159.22'已知并匹配ECDSA主机密钥。
-debug1:找到/home/dingofarmers/.ssh/known_hosts:21中的密钥
-debug3:发送数据包:输入21
-debug2:set_newkeys:mode 1
-debug1:在134217728块之后重新登录
-debug1:发送了SSH2_MSG_NEWKEYS
-debug1:期待SSH2_MSG_NEWKEYS
-debug3:接收数据包:输入21
-debug2:set_newkeys:mode 0
-debug1:在134217728块之后重新登录
-debug1:收到SSH2_MSG_NEWKEYS
-debug2:key:dingofarmers @ ubuntu(0x55ce58f7d660),代理商
-debug2:key:dingofarmers @ ubuntu(0x55ce58f7e920),代理商
-debug2:key:.ssh / RH17-06-11.pem((nil)),explicit
-debug3:发送数据包:输入5
-debug3:接收数据包:输入6
-debug2:service_accept:ssh-userauth
-debug1:收到SSH2_MSG_SERVICE_ACCEPT
-debug3:发送数据包:输入50
-debug3:接收数据包:输入51
-debug1:可以继续的身份验证:publickey,gssapi-keyex,gssapi-with-mic
-debug3:重新开始,传递了一个不同的列表publickey,gssapi-keyex,gssapi-with-mic
-debug3:首选gssapi-keyex,gssapi-with-mic,publickey,键盘互动,密码
-debug3:authmethod_lookup gssapi-keyex
-debug3:保留首选:gssapi-with-mic,publickey,键盘互动,密码
-debug3:authmethod_is_enabled gssapi-keyex
-debug1:下一个身份验证方法:gssapi-keyex
-debug1:没有有效的密钥交换上下文
-debug2:我们没有发送数据包,禁用方法
-debug3:authmethod_lookup gssapi-with-mic
-debug3:保留首选:publickey,keyboard-interactive,password
-debug3:authmethod_is_enabled gssapi-with-mic
-debug1:下一个身份验证方法:gssapi-with-mic
-debug1:未指定的GSS失败。次要代码可能会提供更多信息无Kerberos凭据
-debug1:未指定的GSS失败。次要代码可能会提供更多信息无Kerberos凭据
-debug1:未指定的GSS失败。次要代码可能会提供更多信息
-debug1:未指定的GSS失败。次要代码可能会提供更多信息无Kerberos凭据
-debug2:我们没有发送数据包,禁用方法
-debug3:authmethod_lookup publickey
-debug3:保留首选:键盘互动,密码
-debug3:authmethod_is_enabled publickey
-debug1:下一个身份验证方法:publickey
-debug1:提供RSA公钥:dingofarmers @ ubuntu
-debug3:send_pubkey_test
-debug3:发送数据包:输入50
-debug2:我们发了一个publickey包,等待回复
-debug3:接收数据包:输入51
-debug1:可以继续的身份验证:publickey,gssapi-keyex,gssapi-with-mic
-debug1:提供RSA公钥:dingofarmers @ ubuntu
-debug3:send_pubkey_test
-debug3:发送数据包:输入50
-debug2:我们发了一个publickey包,等待回复
-debug3:接收数据包:输入51
-debug1:可以继续的身份验证:publickey,gssapi-keyex,gssapi-with-mic
-debug1:尝试私钥:.ssh / RH17-06-11.pem
-debug3:sign_and_send_pubkey:RSA SHA256:gwWpJTQxOFvICvYC7ILZ8rTnS9F / TjWaYCmxj6toatY
-debug3:发送数据包:输入50
-debug2:我们发了一个publickey包,等待回复
-debug3:接收数据包:输入51
-debug1:可以继续的身份验证:publickey,gssapi-keyex,gssapi-with-mic
-debug2:我们没有发送数据包,禁用方法
-debug1:不再需要尝试验证方法。
许可被拒绝(publickey,gssapi-keyex,gssapi-with-mic)。
答案 0 :(得分:0)
将您的密钥文件移至.ssh目录
mv path/to/key.pem ~/.ssh/.
然后确保您对文件
授予了正确的权限 chmod 600 ~/.ssh/key.pem
通过ssh连接到服务器
ssh -i ~/.ssh/key.pem ec2-user@instance_ip_address
答案 1 :(得分:0)
known_hosts文件通常用于记录您正在使用的服务器的系统级ssh密钥,而不是用于私钥存储。您将私钥放在那里有什么特别的原因吗?我可能会完全清除客户端和服务器上的〜/ .ssh目录(首先进行备份)并从头开始以保持简单。
在客户端计算机上,您通常有〜/ .ssh目录(0700权限),〜/ .ssh / id_rsa和〜/ .ssh / id_rsa.pub(0600权限),以及应该使用的已知主机文件每次进入新系统时都会自动填充。实际的id_rsa文件名当然不是关键,只要ssh客户端可以找到它们并解析它们,但我从未尝试将它们的内容放在一个已经意味着ssh的文件中。
在服务器计算机上,您还将拥有.ssh目录(再次为0700权限)和authorized_keys文件(0600权限),其中包含来自客户端框的id_rsa.pub密钥(或等效密钥)的文本。 / p>
在客户端和服务器上:
mkdir -p ~/.ssh
chmod 0700 ~/.ssh
在客户端:
ssh-keygen -f ~/.ssh/id_rsa
scp ~/.ssh/id_rsa.pub user@server.ip:~/.ssh/authorized_keys
在服务器上:
chmod 0600 ~/.ssh/authorized_keys
然后再次尝试你的ssh -vvv。如果不起作用,请在客户端和服务器上运行以下命令并发布结果:
sudo grep -i key /etc/ssh/ssh*_config