Quyền SSH bị từ chối (khóa công khai), nhưng ssh gốc hoạt động


15

Tôi đang cố gắng thiết lập quyền truy cập ssh cho tài khoản người dùng mà tôi đã tạo với đầu bếp trên máy chủ kỹ thuật số ub Ubuntu 12.04. Tôi đã có các tùy chọn được đặt trong đại dương kỹ thuật số để tự động sao chép khóa ssh của máy mac của tôi khi giọt được tạo.

Tôi có thể ssh trong root mà không có vấn đề gì, nhưng người dùng khác của tôi không xác thực được. đây có vẻ là một vấn đề phổ biến và tôi đã kiểm tra một số câu trả lời khác và tìm thấy lệnh này để có thêm thông tin:

ssh -vvv -i id_rsa user@serverIP

Nhật ký cho người dùng root (thành công) với lệnh đó là

gỡ lỗi

1: Offering RSA public key: /Users/evan/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok: fp snip!
debug3: sign_and_send_pubkey: snip!
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).

người dùng không thành công:

gỡ lỗi

1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/evan/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/evan/.ssh/id_dsa
debug3: no such identity: /Users/evan/.ssh/id_dsa: No such file or directory
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.

Điều đó với tôi có nghĩa là khóa công khai không chính xác. Nhưng, nếu tôi đăng nhập với tư cách người dùng root và truy cập home/otheraccount/.ssh/authorized_keys, tôi có thể thấy rằng khóa ssh của tôi ở đó. Tôi nghĩ có thể có lỗi, vì vậy tôi đã làm cp .ssh/authorized_keys ~/home/otheraccout/.ssh/authorized_keysnhưng điều đó không có ích. Tôi không biết nơi nào khác để tìm.

tôi etc/ssh/sshd_conig:

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
"sshd_config" 88L, 2508C
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile     %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

# GS

SAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding no
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60

AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM no
Banner /etc/ssh_banner

biên tập:

drwx------ 2 deploy deploy 4096 Apr 20 06:00 .ssh
-rw------- 1 deploy deploy 820 Apr 20 05:35 authorized_keys

Chỉnh sửa2:

Theo đề xuất trong các ý kiến /var/log/authlog::

Apr 21 04:59:30 localhost sshd[586]: User deploy not allowed because account is locked
Apr 21 04:59:30 localhost sshd[586]: input_userauth_request: invalid user deploy [preauth]

Tôi đã cố gắng làm sudo usermod --expiredate -1 deployvà nó trở lạino changes


1
Quyền của bạn có đúng không? ~/home/otheraccount/.sshnên có 700~/home/otheraccount/.ssh/authorized_keysnên có sự 600cho phép và cả hai tập tin nên được sở hữu bởiotheraccount
clement

Tôi nghĩ họ đã đúng, triển khai là không chính xác: drwx------ 2 deploy deploy 4096 Apr 20 06:00 .ssh -rw------- 1 deploy deploy 820 Apr 20 05:35 authorized_keys
user2936314

các dòng nhật ký trong serverIP( /var/log/auth.log) khi bạn cố gắng đăng nhập như deployngười dùng là gì?
clement

Thật thú vị, nó phàn nàn rằng người dùng bị khóa, tôi đã thêm các bản ghi ở trên.
dùng2936314

sẽ không để tôi chỉnh sửa nhận xét trên: Tôi đã sửa lỗi này với passwd -u. Có thể ssh vào như deploybây giờ, nhưng thực sự tò mò tại sao đầu bếp của tôi triển khai lại tạo ra người dùng bị khóa. Vui lòng sao chép / dán nhận xét của bạn ở trên dưới dạng câu trả lời để tôi có thể cung cấp cho bạn khoản tín dụng
user2936314

Câu trả lời:


16
  • Đăng nhập SSH có thể thất bại vì những lý do khác nhau (điều khoản không chính xác thư mục / tập tin, chìa khóa không chính xác vv) và các client kết nối sẽ chỉ nhận được Permission deniedhoặc No more authentication methods to tryhoặc một số lỗi chung chung.

  • Lý do chính xác cho lỗi đăng nhập sẽ có sẵn trong nhật ký ssh /var/log/auth.loghoặc /var/log/securetùy thuộc vào cấu hình nhật ký hệ thống.


Đây là câu trả lời tốt nhất cho tất cả các câu hỏi về sự cố đăng nhập SSH mà tôi từng thấy! Thay vì đoán ngẫu nhiên các quyền và tên tệp sai như tất cả các câu trả lời khác đề xuất, chỉ cần kiểm tra nhật ký được đề cập và chúng chứa tất cả thông tin bạn cần!
Quản trị viên của Nam Tư

Lý do chính xác không có trong tệp nhật ký của tôi. Tất cả những gì nó nói là phiên đã mở hơn đóng cửa.
VectorVortec

3

Vấn đề tương tự đối với tôi cài đặt CentOS7 mới.

1. kiểm tra quyền truy cập thư mục nhàquyền ~ / .ssh và ~ / .ssh / ủy quyền (như @clement nói)

chmod o-w ~/; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys

2. kiểm tra / etc / ssh / sshd_config cài đặt && dịch vụ sshd khởi động lại (sau mỗi lần chỉnh sửa) Hữu ích: thử "LogLevel VERBOSE" trong sshd_config.

Tôi vẫn nhận được mật khẩu nhắc sau khi kiểm tra tất cả là ok.

Chạy ứng dụng khách ssh với nhật ký -vvv:

debug3: send_pubkey_test 
debug2: we sent a publickey packet, wait for reply

Nhật ký máy chủ (/ var / log / safe):

Failed publickey for * from * port * ssh2: RSA *

Máy chủ ssh không gửi thêm thông tin lỗi cho khách hàng vì đó sẽ là một rủi ro bảo mật.

Nếu tôi chạy sshd trên các cổng khác nhau 'sshd -p 5555 -d'. Chìa khóa làm việc. Mật khẩu đăng nhập ok. WTF?

SAD :-( để nói rằng sau đó tôi đã vô hiệu hóa selinux (đặt SELINUX = bị vô hiệu hóa trong / etc / selinux / config) và khởi động lại. Đăng nhập không cần mật khẩu sau đó hoạt động tốt.

cài đặt sshd_config làm việc hiện tại của tôi :

[root@hp-bl-05 ~]# grep -vE "^#|^$" /etc/ssh/sshd_config  
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
SyslogFacility AUTHPRIV
LogLevel VERBOSE
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
HostbasedAuthentication yes
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication no
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
UseDNS no
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem   sftp    /usr/libexec/openssh/sftp-server

Vì vậy, thật tuyệt khi biết rằng chúng ta có thể thay đổi một cái gì đó nhỏ trong selinux để đăng nhập ssh không mật khẩu để hoạt động. Bất cứ ai có thể cải thiện câu trả lời?

tương tự ở đây: /superuser//questions3532368/ssh-still- task-for-password-after-setting-up-key-basing-aicationent / 1072999 # 1072999

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.