Có thể "tự động" cấu hình ssh để sử dụng cổng để kết nối với máy từ xa dựa trên địa chỉ IP của khách hàng hoặc một cái gì đó trong lượt thích không?
Giả sử tôi đang ở laptop
, nơi tôi có thể cắm (thông qua kết nối có dây) vào mạng đại học và có quyền truy cập trực tiếp vào cluster.uni.edu
, nhưng nếu tôi ở nhà, tôi phải nhảy qua gateway.uni.edu
. Vì vậy, để kết nối với cụm từ nhà, tôi có thể có cái ~/.ssh/config
như thế này:
Host cluster
Host cluster.uni.edu
ProxyCommand ssh -W %h:%p gateway.uni.edu
Vì vậy, tôi có thể chỉ ssh cluster
và truy cập nó trong suốt nhảy qua cổng. Nhược điểm là nếu tôi cắm vào mạng lưới trường đại học, tôi không cần phải đi qua cổng, vì vậy để tránh nó, tôi sẽ phải làm một cái gì đó như thế ssh cluster.uni.edu
.
Có thể thiết lập cái này để ssh không nhảy dù cổng không cần thiết? Tiêu chí sẽ là một cái gì đó như: Nếu eth0 được kết nối và IP là xxx.yyy.zzz.www, hãy kết nối trực tiếp, nếu không hãy sử dụng cổng .
Tôi nghĩ rằng điều này có thể rất nhiều để hỏi từ tệp cấu hình và các tùy chọn ssh tiêu chuẩn, nhưng tôi thực sự muốn tránh các tập lệnh trình bao bọc. (Lưu ý bên lề: Tôi đã sử dụng LocalFowrard để thực hiện loại việc này trước khi tôi biết về ssh -W
vì tôi không thích ý tưởng sử dụng netcat
như ProxyCommand
)
Cảm ơn!
ProxyCommand
dòng lệnh, để tránh một tập lệnh bên ngoài.
Host cluster1
mục thứ hai mà không có proxy là đủ? Vậyssh cluster
khi nào bên ngoài, vàssh cluster1
khi nào bên trong?