SSH: การอนุญาตถูกปฏิเสธ (publickey, gssapi-with-mic, รหัสผ่าน)


17

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

ปรับปรุง: มันเปิดใช้งานการกำหนดค่าของ sshd บนhost2จะไม่อนุญาตให้เข้าสู่ระบบด้วยรหัสผ่าน ขอบคุณผู้คนตอบคำถามนี้

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

สถานการณ์จำลอง: การทำงานกับ บริษัท สำหรับโครงการวิทยาลัยของฉัน ฉันต้องใช้ PuTTy เพื่อ SSH เป็นhost1อันดับแรกและจากนั้นก็เข้าสู่ SSH host2(ดูด้านล่าง) ฉันได้รับชื่อผู้ใช้และรหัสผ่านใน host2

ฉันไม่ได้มีการเข้าถึง host2 sshd_configที่ทุกคนดังนั้นผมจึงมีความรู้ไม่มัน

นี่คือสิ่งที่เกิดขึ้นเมื่อฉันพยายามที่จะ SSH host2จากhost1:

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

ฉันสงสัยว่ามีอะไรที่ฉันสามารถทำได้ก่อนไปที่ บริษัท


ชื่อผู้ใช้ "ff" บนโฮสต์ 2 ถูกต้องหรือไม่
etagenklo

@etagenklo ใช่นั่นคือสิ่งที่ฉันได้รับ
gherkin

host2คุณควรถามผู้ดูแลระบบของ
jornane

ฉันมีปัญหาเดียวกัน ฉันคิดว่าสาเหตุคือฉันมีบางอย่างผิดปกติในโฟลเดอร์ $ HOME / .ssh ของผู้ใช้ หลังจาก mv $ HOME / .ssh $ HOME / .ssh.hide ฉันสามารถเข้าสู่ระบบโดยใช้รหัสผ่าน ssh
JackBauer35

คำตอบ:


8

ชื่อผู้ใช้และรหัสผ่านที่คุณพยายามไม่ได้รับการยอมรับจากโฮสต์ หมายความว่าคุณกำลังเชื่อมต่อกับเซิร์ฟเวอร์ผิดหรือชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง คุณควรขอให้ผู้ดูแลระบบตรวจสอบบันทึกhost2ที่ควรบอกคุณในสามกรณี


2
มันเหมือนกับว่าคุณเป็นคนโง่อีกแล้วใช่ไหมฉันมีรหัสผ่านที่ถูกต้อง และจากนั้นคุณก็จดจำรูปแบบแป้นพิมพ์ที่แตกต่างกัน ขอบคุณที่ทำให้ฉันกลับมาใหม่ :)
skyw00lker

@ skyw00lker นั่นเป็นเหตุผลที่ฉันใช้รหัสผ่านตัวอักษรและตัวเลขโดยส่วนตัว
kasperd


2

ในกรณีของฉันมันเกิดจากการเข้ารหัสของโฮมไดเรกทอรี ฉันมีการเปลี่ยนแปลงสถานที่ตั้งของคีย์ SSH และการแก้ไขปัญหา: (เก็บถาวรเว็บสำเนา) http://tweaktheserver.com/ssh-cant-connect-authentications-that-can-continue-publickeygssapi-keyexgssapi-with-micpassword/


2
กรุณาเพิ่มสาระสำคัญของการแก้ปัญหาลงในคำตอบของคุณ คำตอบสำหรับลิงค์เท่านั้นที่ไวต่อการเชื่อมโยงเน่า
Deer Hunter

ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีมันก็ควรที่จะรวมส่วนสำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
มาร์คเฮนเดอร์สัน

ขอบคุณสำหรับคำแนะนำของคุณ ฉันเข้าใจว่าลิงก์ที่ใช้งานได้อาจเป็น 'ข้อผิดพลาด 404' ในอนาคตและเป็นสิ่งสำคัญที่ต้องพูดถึงประเด็นต่างๆในคำตอบนั้น ฉันได้แก้ไขคำตอบของฉันเช่นกัน
user173141

@DeerHunter ได้รับการทำนาย: link rotted
Riet

@Riet - แนะนำการแก้ไข ทั้งหมดจะไม่สูญหาย ในขณะเดียวกันคุณสามารถเยี่ยมชมได้บันทึกสำเนาของหน้า
Deer Hunter

1

ดูเหมือนว่าการรับรองความถูกต้อง GSSAPI จะเปิดใช้งานในไคลเอนต์ แต่มันล้มเหลวและกลับไปสู่การตรวจสอบรหัสผ่าน หากคุณไม่สามารถเข้าสู่ระบบด้วยการเข้าสู่ระบบและรหัสผ่านที่ให้มาสิ่งเดียวที่ต้องทำคือติดต่อผู้ที่รับผิดชอบการจัดการเซิร์ฟเวอร์ ("บริษัท ")


1

ฉันมีปัญหาเดียวกัน แต่ปัญหาสำหรับฉันคือการกำหนดค่าเริ่มต้นของระบบปฏิบัติการ (CentOS 7) คือการเข้ารหัสไดเรกทอรีผู้ใช้เพื่อให้authorized_keysไฟล์ที่อยู่ใน~/.ssh/นั้นไม่ทำงาน วิธีแก้ปัญหามาจากที่นี่แต่โดยทั่วไป:

  1. ในการ/etc/ssh/sshd_configตั้งค่าคุณสมบัติ AuthorizedKeysFile เป็นสิ่งที่อยู่นอกไดเรกทอรีของผู้ใช้ ( /etc/ssh/authorized_keys)
  2. เริ่มบริการ sshd

0

ลอง:
เซิร์ฟเวอร์ ssh -p พอร์ต -o PreferredAuthentications = publickey


โปรดพูดให้มากขึ้นเกี่ยวกับสาเหตุที่ OP ควรใช้คำสั่งของคุณและทำอะไร การใช้code stylingคำสั่งก็ถือว่าเป็นรูปแบบที่ดีด้วย:``
Phillip -Zyan K Lee- Stockmann


-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"
Adriano

-2

$ ssh Vagrant@192.168.33.11 -i .vagrant / เครื่อง / ค่าเริ่มต้น / virtualbox / private_key

สิ่งนี้ใช้ได้สำหรับฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.