Đăng nhập vào máy chủ ssh: Quyền bị từ chối, vui lòng thử lại


9

Tôi đang cố gắng đăng nhập vào máy chủ ssh của mình bằng tên người dùng và mật khẩu, nhưng tôi gặp lỗi này sau khi nhập đúng mật khẩu:

Permission denied, please try again.

Mặc dù vậy, tôi có thể đăng nhập bằng pubkey trên một máy khác, nhưng tôi KHÔNG tắt xác thực mật khẩu thông thường. Điều duy nhất tôi vô hiệu hóa là đăng nhập root.

Đây là tập tin sshd_config của tôi:

# Tập tin cấu hình được tạo gói
# Xem trang chủ sshd_config (5) để biết chi tiết

# Cổng, IP và giao thức nào chúng tôi lắng nghe
Cảng 22
# Sử dụng các tùy chọn này để hạn chế giao diện / giao thức sshd sẽ liên kết với
#ListenAddress ::
#ListenĐịa chỉ 0.0.0.0
Giao thức 2
# HostKeys cho giao thức phiên bản 2
Lưu trữ khóa / etc / ssh / ssh_host_rsa_key
HostKey / etc / ssh / ssh_host_dsa_key
HostKey / etc / ssh / ssh_host_ecdsa_key
#Privilege Tách được bật để bảo mật
UsePriv đặc biệt trả tiền có

# Tuổi thọ và kích thước của khóa máy chủ phiên bản 1 phù du
KeyRegenerationInterval 3600
ServerKeyBits 768

# Ghi nhật ký
SyslogFacility AUTH
Thông tin đăng nhập

# Xác thực:
Đăng nhậpGraceTime 120
PermitRootLogin không
StrictModes có

RSAAuthentication có
PubkeyAuthentication có
#AuthorizedKeysFile% h / .ssh / ủy quyền_key

# Đừng đọc các tập tin của người dùng ~ / .rhosts và ~ / .shosts
Bỏ qua
# Để làm việc này, bạn cũng sẽ cần các khóa máy chủ trong / etc / ssh_ Unknown_hosts

RhostsRSAAuthentication no
# tương tự cho giao thức phiên bản 2
HostbasingAuthentication no
# Uncomment nếu bạn không tin tưởng ~ / .ssh / know_hosts cho RhostsRSAAuthentication
#IgnoreUserKnownhosts có

# Để bật mật khẩu trống, hãy đổi thành có (KHÔNG ĐƯỢC KHUYẾN NGHỊ)
PermitEmptyPasswords không

# Thay đổi thành có để bật mật khẩu phản hồi thử thách (hãy cẩn thận với các vấn đề với
# một số mô-đun và chủ đề PAM)
ChallengeResponseAuthentication no

# Thay đổi thành không để vô hiệu hóa mật khẩu văn bản rõ ràng được điều chỉnh
Mật khẩu xác thực có

# Tùy chọn Kerberos 
#KerberosAuthentication không
#KerberosGetAFSToken không
#KerberosOrLocalPasswd có
#KerberosTicketCleanup có

Tùy chọn # GSSAPI
#GSSAPIA thông tin không
#GSSAPICleanupCredentials có

X11 Hướng tới có
X11Display Offerset 10
PrintMotd không
InLastLog có
TCPKeepAlive có
#UseLogin không

#MaxStartups 10:30:60 
#Banner /etc/su.net

# Cho phép khách hàng vượt qua các biến môi trường miền địa phương
Chấp nhận LANG LC_ *

Hệ thống con sftp / usr / lib / openssh / sftp-server

# Đặt mục này thành 'có' để bật xác thực PAM, xử lý tài khoản,
# và xử lý phiên. Nếu điều này được kích hoạt, xác thực PAM sẽ
# được cho phép thông qua ChallengeResponseAuthentication và
# Mật khẩu xác thực. Tùy thuộc vào cấu hình PAM của bạn,
# Xác thực PAM thông qua ChallengeResponseAuthentication có thể bỏ qua
# cài đặt "PermitRootLogin không có mật khẩu".
# Nếu bạn chỉ muốn tài khoản PAM và kiểm tra phiên chạy mà không cần
Xác thực # PAM, sau đó kích hoạt tính năng này nhưng đặt Mật khẩu xác thực
# và ChallengeResponseĐánh giá thành 'không'.
Sử dụngPAM có 
IgnoreUserKnownhosts không
Mật khẩu xác thực có

Tôi đã thêm 2 dòng cuối cùng trong một nỗ lực mới nhất để làm cho nó hoạt động. (Tôi có chúng trên các vps khác của tôi và chúng hoạt động ở đó)

Đây là danh sách thư mục ~ / .ssh / của người dùng của tôi:

ls -la /home/skerit/.ssh
tổng số 16
drwx ------ 2 skerit skerit 4096 2011-06-25 15:11.
drwxr-xr-x 4 skerit skerit 4096 2011/07/07 21:05 ..
-rw-r - r-- 1 skerit skerit 1882 2011-06-25 15:15 ủy quyền
-rw-r - r-- 1 skerit skerit 884 2011-06-23 22:59 know_hosts 

Đây là đầu ra của / usr / sbin / sshd -d:

debug1: userauth-request cho người dùng phương thức kết nối ssh dịch vụ skerit
debug1: nỗ lực 0 thất bại 0
debug1: PAM: khởi tạo cho "skerit"
debug1: PAM: đặt PAM_RHOST thành "82.197,70,70"
debug1: PAM: đặt PAM_TTY thành "ssh"
debug1: userauth-request cho người dùng phương thức kết nối ssh-service của dịch vụ skerit
debug1: nỗ lực 1 thất bại 0
debug1: kiểm tra xem pkache / pkblob có được chấp nhận không
debug1: Kiểm tra tệp danh sách đen /usr/share/ssh/blacklist.RSA-2048
debug1: Kiểm tra tệp danh sách đen /etc/ssh/blacklist.RSA-2048
debug1: tạm_use_uid: 1000/1000 (e = 0/0)
debug1: thử tệp khóa công khai /home/skerit/.ssh/authorized_keys
gỡ lỗi1: fd 4 xóa O_NONBLOCK
debug1: restore_uid: 0/0
debug1: tạm_use_uid: 1000/1000 (e = 0/0)
debug1: thử tệp khóa công khai /home/skerit/.ssh/authorized_keys2
debug1: Không thể mở các khóa được ủy quyền '/home/skerit/.ssh/authorized_keys2': Không có tệp hoặc thư mục như vậy
debug1: restore_uid: 0/0
Lỗi công khai cho skerit từ 82.197,70,70 cổng 57154 ssh2
debug1: userauth-request cho người dùng mật khẩu phương thức kết nối ssh dịch vụ skerit
debug1: cố gắng 2 lần thất bại 1
debug1: PAM: xác thực mật khẩu không thành công cho skerit: Lỗi xác thực
Mật khẩu không thành công cho skerit từ 82.197,70,70 cổng 57154 ssh2 

Sau đó tôi đã cố gắng đăng nhập vào máy chủ ssh TỪ máy chủ ssh (cục bộ) bằng tên người dùng và mật khẩu CÙNG, và nó đã hoạt động. Đây là trong tệp auth.log:

8 tháng 7 12:21:50 vpsnl1 sshd [27298]: debug1: không thể mở tệp khóa '/ etc / ssh / ssh_host_ecdsa_key': Không có tệp hoặc thư mục như vậy
8 tháng 7 12:21:50 vpsnl1 sshd [27298]: lỗi: Không thể tải khóa máy chủ: / etc / ssh / ssh_host_ecdsa_key
8 tháng 7 12:22:16 vpsnl1 sshd [27298]: pam_unix (sshd: auth): lỗi xác thực; logname = uid = 0 euid = 0 tty = ssh ruser = rhost = 82.197,70,70 người dùng =
trượt tuyết
8 tháng 7 12:23:50 vpsnl1 sshd [27439]: Máy chủ lắng nghe trên cổng 0.0.0.0 22.
8 tháng 7 12:23:50 vpsnl1 sshd [27439]: Máy chủ lắng nghe trên :: cổng 22.
8 tháng 7 12:24:07 vpsnl1 sshd [27458]: lỗi: Không thể tải khóa máy chủ: / etc / ssh / ssh_host_ecdsa_key
8 tháng 7 12:24:14 vpsnl1 sshd [27458]: Mật khẩu được chấp nhận cho skerit từ cổng 127.0.0.1 57667 ssh2
8 tháng 7 12:24:14 vpsnl1 sshd [27458]: pam_unix (sshd: session): phiên mở cho người dùng skerit bởi (uid = 0)
8 tháng 7 12:24:25 vpsnl1 sshd [27471]: Đã ngắt kết nối từ 127.0.0.1: 11: ngắt kết nối bởi người dùng
8 tháng 7 12:24:25 vpsnl1 sshd [27458]: pam_unix (sshd: session): phiên đóng cho người dùng skerit 

Bạn có thể thêm ssh-config của bạn?
Bart De Vos

Được rồi, tập tin cấu hình được thêm vào!
skerit

Làm thế nào về hoán vị trên .ssh? Bạn có thể đăng ls -la ~ / .ssh trên máy chủ không?
mkudlacek

Ok, tôi đã thêm danh sách các tập tin của người dùng mà tôi đang cố đăng nhập.
skerit

1
Tôi nghĩ Authorized_keys không thể đọc được trên thế giới, nhưng tôi không giải thích được tại sao bạn không thể đăng nhập bằng mật khẩu. Bạn có thể làm su skerittrong tài khoản của bạn?
mkudlacek

Câu trả lời:


9

Bạn có chắc chắn rằng tài khoản người dùng bạn đang cố truy cập được định cấu hình chính xác không? Nếu bạn đăng nhập bằng root trên hệ thống, bạn có thể suvào tài khoản người dùng không?

# su - username

Bạn thấy gì trong nhật ký của mình sau khi thử kết nối thất bại? Trên nhiều hệ thống, sshd sẽ đăng nhập vào một cái gì đó /var/log/securehoặc /var/log/auth.log. Ngoài ra, tôi lưu ý rằng bạn đã PasswordAuthenticationkích hoạt nhưng ChallengeResponseAuthenticationbị vô hiệu hóa. Bạn có thấy hành vi tương tự nếu bạn kích hoạt ChallengeResponseAuthentication?

Dưới đây là một số bước chẩn đoán chung để sử dụng khi bạn gặp vấn đề về ssh:

  • Kích hoạt chẩn đoán verbose trong ssh:

    ssh -v host.example.com
    

    Điều này sẽ khiến máy khách xuất ra nhiều thông báo chẩn đoán khi nó đàm phán kết nối. Điều này thường sẽ cung cấp một đầu mối cho vấn đề.

  • Chạy máy chủ trong chế độ gỡ lỗi.

    Trên máy chủ của bạn, dừng sshd, sau đó chạy nó từ dòng lệnh như thế này:

    /usr/sbin/sshd -d
    

    Điều này sẽ tạo ra đăng nhập gỡ lỗi dài dòng trên stderrđó thường sẽ chứa thông tin hữu ích.

Nếu cả hai điều này không giúp bạn biết được chuyện gì đang xảy ra, bạn sẽ thêm đầu ra vào câu hỏi của mình chứ?


Ok, tôi đã thêm đầu ra. Về cơ bản: khi tôi đăng nhập từ xa, nó nói mật khẩu không tốt, khi tôi thử đăng nhập cục bộ thì mật khẩu vẫn ổn và cho phép tôi vào.
skerit

2
WS mật khẩu. Tôi đã thay đổi mật khẩu thông qua bảng điều khiển web (một số ứng dụng java) và mặc dù mật khẩu đã nhập là SẮC với những gì tôi đã nhập trong bảng điều khiển putty của mình, nhưng bằng cách nào đó, các giá trị ascii phải khác. Tôi đã thay đổi nó thành một cái gì đó đơn giản hơn, đăng nhập theo cách chính xác thông qua putty và thay đổi lại. Bây giờ nó hoạt động.
skerit

@skerit - có lẽ đã có vấn đề mã hóa ký tự, sau đó - có thể là UTF8 so với ASCII?
warren

Vui mừng khi nghe những điều đang làm việc!
larsks

Có vấn đề tương tự như @skerit sau khi thực hiện thay đổi mật khẩu từ bảng điều khiển web của DigitalOcean.
Daniel
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.