Linux/Mac Tutorial: SSH Key-Based Authentication - How to SSH Without a Password
Mục lục:
- Giao nhận cảng địa phương
- Chuyển tiếp cổng từ xa
- Chuyển tiếp cổng động
- Thiết lập đường hầm SSH trong Windows
- Phần kết luận
Đường hầm SSH hoặc chuyển tiếp cổng SSH là phương pháp tạo kết nối SSH được mã hóa giữa máy khách và máy chủ thông qua đó các cổng dịch vụ có thể được chuyển tiếp.
Chuyển tiếp SSH rất hữu ích để vận chuyển dữ liệu mạng của các dịch vụ sử dụng giao thức không được mã hóa, chẳng hạn như VNC hoặc FTP, truy cập nội dung bị giới hạn địa lý hoặc bỏ qua tường lửa trung gian. Về cơ bản, bạn có thể chuyển tiếp bất kỳ cổng TCP nào và tạo lưu lượng truy cập qua kết nối SSH an toàn.
Có ba loại chuyển tiếp cổng SSH:
- Giao nhận cảng địa phương. - Chuyển tiếp kết nối từ máy chủ đến máy chủ SSH và sau đó đến cổng máy chủ đích.Remote Port Forwarding. - Chuyển tiếp một cổng từ máy chủ lưu trữ đến máy chủ máy khách và sau đó đến cổng máy chủ đích. Chuyển tiếp cổng chuyển tiếp. - Tạo máy chủ proxy SOCKS cho phép giao tiếp qua một loạt các cổng.
, chúng tôi sẽ nói về cách thiết lập các đường hầm SSH được mã hóa cục bộ, từ xa và động.
Giao nhận cảng địa phương
Chuyển tiếp cổng cục bộ cho phép bạn chuyển tiếp một cổng trên máy cục bộ (ssh client) sang một cổng trên máy từ xa (máy chủ ssh), sau đó được chuyển tiếp đến một cổng trên máy đích.
Trong kiểu chuyển tiếp này, máy khách SSH lắng nghe trên một cổng nhất định và đường hầm bất kỳ kết nối nào đến cổng đó đến cổng được chỉ định trên máy chủ SSH từ xa, sau đó kết nối với một cổng trên máy đích. Máy đích có thể là máy chủ SSH từ xa hoặc bất kỳ máy nào khác.
Chuyển tiếp cổng cục bộ hầu hết được sử dụng để kết nối với dịch vụ từ xa trên mạng nội bộ như cơ sở dữ liệu hoặc máy chủ VNC.
Trong Linux, macOS và các hệ thống Unix khác để tạo chuyển tiếp cổng cục bộ chuyển tùy chọn
-L
cho máy khách
ssh
:
ssh -L LOCAL_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER
Các tùy chọn được sử dụng như sau:
-
LOCAL_PORT- Số ip và số cổng máy cục bộ. KhiLOCAL_IPbị bỏ qua, máy khách ssh liên kết trên localhost.DESTINATION:DESTINATION_PORT- IP hoặc tên máy chủ và cổng của máy đích.SERVER_IP- Địa chỉ IP máy chủ và người dùng SSH từ xa.
Bạn có thể sử dụng bất kỳ số cổng nào lớn hơn
1024
dưới dạng
LOCAL_PORT
. Số cổng nhỏ hơn
1024
là cổng đặc quyền và chỉ có thể được sử dụng bởi root. Nếu máy chủ SSH của bạn đang nghe trên một cổng khác 22 (mặc định), hãy sử dụng tùy chọn
-p
.
Tên máy chủ đích phải được phân giải từ máy chủ SSH.
Giả sử bạn có máy chủ cơ sở dữ liệu MySQL chạy trên máy
db001.host
trên mạng nội bộ (riêng), trên cổng 3306 có thể truy cập từ máy
pub001.host
và bạn muốn kết nối bằng máy khách
mysql
cục bộ của mình với máy chủ cơ sở dữ liệu. Để làm như vậy, bạn có thể chuyển tiếp kết nối như vậy:
ssh -L 3336:db001.host:3306 [email protected]
Khi bạn chạy lệnh, bạn sẽ được nhắc nhập mật khẩu người dùng SSH từ xa. Sau khi nhập nó, bạn sẽ đăng nhập vào máy chủ từ xa và đường hầm SSH sẽ được thiết lập. Đó là một ý tưởng tốt để thiết lập xác thực dựa trên khóa SSH và kết nối với máy chủ mà không cần nhập mật khẩu.
Bây giờ nếu bạn trỏ máy khách cơ sở dữ liệu máy cục bộ của mình tới
127.0.0.1:3336
, kết nối sẽ được chuyển tiếp đến máy chủ MySQL
db001.host:3306
thông qua máy
pub001.host
sẽ hoạt động như một máy chủ trung gian.
Bạn có thể chuyển tiếp nhiều cổng tới nhiều đích trong một lệnh ssh. Ví dụ: bạn có một máy chủ cơ sở dữ liệu MySQL khác đang chạy trên máy
db002.host
và bạn muốn kết nối với cả hai máy chủ từ máy khách cục bộ của mình, bạn sẽ chạy:
ssh -L 3336:db001.host:3306 3337:db002.host:3306 [email protected]
Để kết nối với máy chủ thứ hai, bạn sẽ sử dụng
127.0.0.1:3337
.
Khi máy chủ đích giống với máy chủ SSH thay vì chỉ định IP máy chủ đích hoặc tên máy chủ, bạn có thể sử dụng
localhost
.
Giả sử bạn cần kết nối với một máy từ xa thông qua VNC chạy trên cùng một máy chủ và nó không thể truy cập được từ bên ngoài. Lệnh bạn sẽ sử dụng là:
ssh -L 5901:127.0.0.1:5901 -N -f [email protected]
Tùy chọn
-f
cho lệnh
ssh
chạy trong nền và
-N
không thực hiện lệnh từ xa. Chúng tôi đang sử dụng
localhost
vì VNC và máy chủ SSH đang chạy trên cùng một máy chủ.
Chuyển tiếp cổng từ xa
Chuyển tiếp cổng từ xa ngược lại với chuyển tiếp cổng cục bộ. Nó cho phép bạn chuyển tiếp một cổng trên máy từ xa (máy chủ ssh) sang một cổng trên máy cục bộ (máy khách ssh), sau đó được chuyển tiếp đến một cổng trên máy đích.
Trong kiểu chuyển tiếp này, máy chủ SSH lắng nghe trên một cổng nhất định và đường hầm bất kỳ kết nối nào đến cổng đó đến cổng được chỉ định trên máy khách SSH cục bộ, sau đó kết nối với một cổng trên máy đích. Máy đích có thể là máy cục bộ hoặc bất kỳ máy nào khác.
Trong Linux, macOS và các hệ thống Unix khác để tạo chuyển tiếp cổng từ xa chuyển tùy chọn
-R
cho máy khách
ssh
:
ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER
Các tùy chọn được sử dụng như sau:
-
REMOTE_PORT- IP và số cổng trên máy chủ SSH từ xa. MộtREMOTEtrống có nghĩa là máy chủ SSH từ xa sẽ liên kết trên tất cả các giao diện.DESTINATION:DESTINATION_PORT- IP hoặc tên máy chủ và cổng của máy đích.SERVER_IP- Địa chỉ IP máy chủ và người dùng SSH từ xa.
Chuyển tiếp cổng cục bộ chủ yếu được sử dụng để cấp quyền truy cập vào một dịch vụ nội bộ cho một ai đó từ bên ngoài.
Giả sử bạn đang phát triển một ứng dụng web trên máy cục bộ của mình và bạn muốn hiển thị bản xem trước cho nhà phát triển đồng nghiệp của mình. Bạn không có IP công cộng để nhà phát triển khác không thể truy cập ứng dụng qua Internet.
ssh -L 8080:127.0.0.1:3000 -N -f [email protected]
Lệnh trên sẽ khiến máy chủ ssh lắng nghe trên cổng
8080
và đường hầm tất cả lưu lượng truy cập từ cổng này đến máy cục bộ của bạn trên cổng
3000
.
Bây giờ, nhà phát triển đồng nghiệp của bạn có thể nhập
the_ssh_server_ip:8080
trong trình duyệt của anh ấy / cô ấy và xem trước ứng dụng tuyệt vời của bạn.
Chuyển tiếp cổng động
Chuyển tiếp cổng động cho phép bạn tạo một ổ cắm trên máy cục bộ (ssh client) hoạt động như một máy chủ proxy SOCKS. Khi một máy khách kết nối với cổng này, kết nối được chuyển tiếp đến máy từ xa (máy chủ ssh), sau đó được chuyển tiếp đến một cổng động trên máy đích.
Bằng cách này, tất cả các ứng dụng sử dụng proxy SOCKS sẽ kết nối với máy chủ SSH và máy chủ sẽ chuyển tiếp tất cả lưu lượng truy cập đến đích thực tế của nó.
Trong Linux, macOS và các hệ thống Unix khác để tạo chuyển tiếp cổng động (SOCKS) chuyển tùy chọn
-D
cho máy khách
ssh
:
ssh -D LOCAL_PORT SSH_SERVER
Các tùy chọn được sử dụng như sau:
-
LOCAL_PORT- Số ip và số cổng máy cục bộ. KhiLOCAL_IPbị bỏ qua, máy khách ssh liên kết trên localhost.SERVER_IP- Địa chỉ IP máy chủ và người dùng SSH từ xa.
Một ví dụ điển hình về chuyển tiếp cổng động là đường hầm lưu lượng truy cập trình duyệt web thông qua máy chủ SSH.
Lệnh sau sẽ tạo đường hầm SOCKS trên cổng
9090
:
ssh -D 9090 -N -f [email protected]
Khi đường hầm được thiết lập, bạn có thể định cấu hình ứng dụng của mình để sử dụng nó. Bài viết này giải thích cách định cấu hình trình duyệt Firefox và Google Chrome để sử dụng proxy SOCKS.
Chuyển tiếp cổng phải được cấu hình riêng cho từng ứng dụng mà bạn muốn tạo đường hầm cho lưu lượng truy cập.
Thiết lập đường hầm SSH trong Windows
Người dùng Windows có thể tạo đường hầm SSH bằng ứng dụng khách PuTTY SSH. Bạn có thể tải PuTTY tại đây.
-
Khởi chạy Putty và nhập Địa chỉ IP của máy chủ SSH vào trường
Host name (or IP address).




Một cửa sổ mới yêu cầu tên người dùng và mật khẩu của bạn sẽ xuất hiện. Khi bạn nhập tên người dùng và mật khẩu, bạn sẽ đăng nhập vào máy chủ của mình và đường hầm SSH sẽ được bắt đầu.
Thiết lập xác thực khóa chung sẽ cho phép bạn kết nối với máy chủ của mình mà không cần nhập mật khẩu.
Phần kết luận
Chúng tôi đã chỉ cho bạn cách thiết lập các đường hầm SSH và chuyển tiếp lưu lượng truy cập thông qua kết nối SSH an toàn. Để dễ sử dụng, bạn có thể xác định đường hầm SSH trong tệp cấu hình SSH của mình hoặc tạo bí danh Bash sẽ thiết lập đường hầm SSH.
bảo mật sshQuản lý bệnh tiểu đường với bệnh tiểu đường Đăng nhập Palm OS Đăng nhập tiểu đường cho Palm OS giúp bệnh nhân tiểu đường phụ thuộc insulin theo dõi và kiểm soát lượng đường trong máu, carbohydrate và Nếu bạn hoặc người nào đó trong gia đình bạn mắc bệnh tiểu đường phụ thuộc insulin, thì bạn biết mức độ quan trọng của lượng đường trong máu, carbohydrates ăn, lượng tập thể dục và lượng insulin bạn lấy. Calorie King Diabetes Log cho các thiết bị Palm OS (15 đô la, 7 ngày dùng thử miễn phí) là một c
CalorieKing Diabetes Log for Palm là một tạp chí về insulin các bệnh nhân tiểu đường độc lập giúp họ kiểm soát lượng đường trong máu của họ bằng cách theo dõi carbs, tập thể dục, và lượng đường trong máu - và đưa ra các gợi ý về liều insulin thích hợp.
Cách thiết lập đường hầm ssh để vượt qua tường lửa
Tường lửa là một điều tốt, nhưng nếu nó ngăn bạn làm điều gì đó thì SSH Tunneling là một lựa chọn tốt để khám phá.
Cách thiết lập đường hầm vớ ssh để duyệt web riêng tư
Hướng dẫn này sẽ hướng dẫn bạn qua quy trình tạo đường hầm SSH được mã hóa và định cấu hình trình duyệt web Firefox và Google Chrome để sử dụng proxy SOCKS.












