Không thể ssh với khóa công khai


2

Tôi có hai máy chủ linux linux, cùng một bản dựng, gọi chúng là A & amp; B.

Tôi có thể ssh vui vẻ từ A đến B bằng khóa chung, nhưng đơn giản là tôi không thể đăng nhập vào A từ B (hoặc từ máy tính để bàn của mình bằng cách sử dụng putty & amp; pagete cho vấn đề đó) mà không được nhắc nhập mật khẩu. Có vẻ như phải có một chút gì đó khác biệt với A, nhưng tôi không thể hiểu được điều gì.

Tệp ủy quyền_key và quyền thư mục .ssh là chính xác & amp; PubkeyAuthentication là 'có' trong sshd_config.

Có bất cứ điều gì khác có thể thiếu hoặc bất cứ điều gì có thể được thay đổi từ xây dựng cơ sở sẽ khiến điều này xảy ra? Tôi đã kiểm tra và kiểm tra lại các phím trên và tái tạo nhiều lần. Tôi cũng có thể thấy nó thử sử dụng phím khi chạy ssh -v A, nhưng không thành công.


Không rõ câu hỏi của bạn nếu bạn đã sử dụng các ủy quyền khác nhau trên A và B. A cần phải có khóa chung của B và ngược lại. . .
ernie

Câu trả lời:


1

Bạn cần gỡ lỗi này trên máy chủ nếu có thể. Nếu bạn có quyền truy cập root trên máy chủ, hãy thử trở thành root và sau đó chạy:

/path/to/sshd -ddd -p 1022

Điều này sẽ chạy một phiên bản của máy chủ SSH sẽ lắng nghe trên cổng 1022, chấp nhận một kết nối và in thông tin gỡ lỗi đến thiết bị đầu cuối của bạn. Chạy ứng dụng khách của bạn như bình thường, ngoại trừ chỉ định cổng 1022 làm cổng:

ssh -p 1022 user@A

Thông tin gỡ lỗi được in bởi máy chủ hy vọng sẽ làm rõ lý do tại sao bạn bị từ chối.


Tôi đã phải đặt một địa chỉ nghe (nếu không nó được mặc định là 0.0.0.0) và mở tường lửa để nó hoạt động, nhưng nó đã cho tôi thông tin tôi cần. Khó chịu, có vẻ như một tác nhân giám sát đã thay đổi quyền sở hữu thư mục chính cho người dùng đang nghi vấn, nhưng ít nhất tôi biết tại sao nó không hoạt động! Cảm ơn đã giúp đỡ.
delronhubbard

1

Tôi có thể ssh vui vẻ từ A đến B bằng khóa công khai, nhưng đơn giản là tôi không thể   đăng nhập vào A từ B ... mà không được nhắc nhập mật khẩu.

Để lấy từ X đến Y, khóa chung của X phải nằm trong tệp ủy quyền của Y

Chạy lệnh ssh để đi từ A đến B nơi nó yêu cầu mật khẩu, ví dụ:

$ssh user@host

Sau đó, làm Ctrl-C, vì vậy bạn chỉ cần biết bạn có lệnh ssh ngay để nó nhắc nhập mật khẩu.

Nhưng lần này, thay đổi ssh cho ssh-copy-id

Nó sẽ nhắc nhập mật khẩu. Nhập mật khẩu. Bây giờ thoát.

Sau đó, lần tiếp theo bạn vào, nó sẽ tự động đi vào.

Để làm việc đó, bạn phải có khóa trên A.

Nếu bạn chưa có khóa trên A, thì hãy chạy $ssh-keygen

Sau đó làm ssh-copy-id như mô tả.

Khi kết nối từ A đến B, Tất cả các lệnh được đề cập ở đây, ssh hoặc ssh-copy-id hoặc ssh-keygen, được chạy từ A.


0

Vui lòng kiểm tra xem iptables đã được cấu hình để cho phép truy cập ssh đến chưa

 iptables --list

Nó sẽ liệt kê các quy tắc iptable hiện có

Bạn chỉ có thể cho phép SSH đến từ một mạng cụ thể bằng lệnh sau

iptables -A INPUT -i eth0 -p tcp -s 192.168.200.0/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

Hi vọng điêu nay co ich!


Như OP mô tả, anh ta có thể kết nối với máy chủ. Anh ta không thể xác thực bằng một chìa khóa. Iptables sẽ không ảnh hưởng đến điều đó.
Kenster
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.