Làm cách nào để tìm ra cổng nào để đăng nhập bằng SSH?


14

Tôi có một thiết lập máy chủ Ubuntu 10.04 từ xa mà tôi thiết lập một lúc trước. Trong khi tôi ghi lại tên người dùng và mật khẩu, tôi dường như đã thông minh và thay đổi cổng ssh thông thường từ 22 thành ... một cái gì đó khác.

Làm thế nào để tôi tìm ra cổng đó có thể là gì?

Tôi có quyền truy cập vào máy chủ thông qua cửa sau của công ty lưu trữ, vì vậy tôi có thể thực thi bất kỳ lệnh Unix nào cần thiết - nhưng tôi không thể đăng nhập bằng cách sử dụng trình bao putty bình thường trên máy.


Điều này có lẽ là ngớ ngẩn, và bạn đã có câu trả lời tốt, nhưng nếu bạn đã kết nối trong quá khứ, bạn có thể kiểm tra lịch sử thiết bị đầu cuối và / hoặc ~/.ssh/config.
Sparhawk

Câu trả lời:


24

Trước tiên hãy kiểm tra tệp cấu hình cổng nào được cấu hình:

$ sudo grep Port /etc/ssh/sshd_config
Port 22

Sau đó, khởi động lại sshđể đảm bảo nó tải cấu hình bạn vừa thấy hoặc tìm ra cổng nào sshđang chạy:

$ sudo netstat -tpln | egrep '(Proto|ssh)'
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      12586/sshd

Đó là một hoạt sshđộng bình thường trên cổng 22.


1
Chỉ cần một lưu ý: Tôi không nghĩ bạn cần sudo
piertoni

Trong lệnh đầu tiên bạn cần sudovì thông thường sshdtệp cấu hình không thể đọc được trên thế giới. Trong lần thứ hai, bạn cần sudocó khả năng giải quyết Program name, nếu không, bạn chỉ có thể thấy tên cho các quy trình đang chạy dưới người dùng của riêng bạn.
Marcos Dione

Tôi đồng ý với @piertoni, bạn không cần phải chạy lệnh này với "SUDO".
Amintabar

8

Nếu bạn có quyền truy cập vào máy chủ thông qua các phương tiện khác, chỉ cần chạy:

$ sudo grep Port /etc/ssh/sshd_config 
Port NNN

Điều đó sẽ trả về một dòng giống như dòng được hiển thị ở trên, nơi NNNsẽ là cổng bạn đã chọn.


3

Cách dễ dàng hơn là chỉ nhìn vào các tệp cấu hình máy chủ SSH:

➜  ~  sudo grep Port /etc/ssh/sshd_config 
   Port 22

Ngoài ra còn kiểm tra các cổng nghe trên mỗi quy trình với lsof:

sudo lsof -Pi | grep ssh

hoặc bất kỳ cổng liệt kê lệnh khác như netstat -lntu.


3

Nếu bạn không có quyền truy cập vào bảng điều khiển của máy chủ, bạn sẽ phải thăm dò tất cả các cổng từ một máy chủ ở xa. Các tiện ích này giống như nmap, tuy nhiên lớp mạng phải chuyển tiếp lưu lượng đến kết hợp cụ thể của máy chủ (địa chỉ IP) VÀ cổng.


2

Nếu bạn không có quyền truy cập đăng nhập vào máy chủ, bạn có thể tìm thấy cổng SSH bằng nmaptính năng "quét phiên bản" của:

nmap -sV -p- <insert target's IP here>

Các -sVphương tiện tùy chọn "phiên bản scan", và -p-có nghĩa là "quét tất cả các cổng". Nếu bạn có kết nối tốt và chắc chắn rằng bạn sẽ không làm phiền tường lửa hoặc IDS của ai đó, bạn có thể thêm -T5để "quét càng nhanh càng tốt". Kết quả sẽ giống như thế này:

PORT     STATE SERVICE VERSION
1422/tcp open  ssh      (protocol 2.0)

1
$ sudo netstat -lntp
[sudo] password for XXX:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address    Foreign Address  State        PID/Program name
tcp   0      0      0.0.0.0:22       0.0.0.0:*        LISTEN       2799/sshd
tcp6  0      0      :::22            :::*             LISTEN       2799/sshd
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.