SSH: đường hầm không có vỏ trên máy chủ ssh


63

Tôi phải thiết lập một đường hầm giữa hai máy chủ.

Đối với điều này, tôi sử dụng sshtheo cách này:

ssh -L MY_LOCAL_PORT:FOREIGN_ADDRESS:FOREIGN_PORT MYUSER@SSH_SERVER

sau đó, tôi đăng nhập vào SSH_SERVER.

Làm thế nào tôi có thể tránh tính năng này?! Tôi chỉ phải thiết lập một đường hầm. Tôi không phải đăng nhập vào SSH_SERVER ...

Tôi đã thử tùy chọn -N, nhưng nó giữ cho vỏ của tôi bận.


SSH -N -L xx: xx: xx user @ server & <- bạn đã thử điều đó trước đây chưa?
Lawrence

Này, bạn có quyền. Tôi đã thử trên một máy chủ khác và tùy chọn -N hoạt động. Vì vậy, tôi đã phát hiện ra rằng vấn đề là ở khách hàng ssh của tôi (tôi không biết tại sao và tôi sẽ tìm kiếm lý do). Cảm ơn rất nhiều!
Bau Miao

1
man sshhiển thị như thế nào: ssh -f -L 1234:localhost:6667 server.example.com sleep 10 && irc -c '#users' -p 1234 pinky 127.0.0.1 Tùy chọn -f nền ssh và lệnh từ xa `` ngủ 10 '' được chỉ định để cho phép một lượng thời gian (ví dụ 10 giây) để bắt đầu dịch vụ được điều chỉnh. Nếu không có kết nối nào được thực hiện trong thời gian quy định, ssh sẽ thoát. `` `
Lionello

Câu trả lời:


71

Như đã nói trong các bài đăng khác, nếu bạn không muốn có lời nhắc trên máy chủ từ xa, bạn phải sử dụng -Ntùy chọn SSH. Nhưng điều này chỉ giúp SSH chạy mà không có dấu nhắc và shell bận.

Bạn chỉ cần đặt SSH là một tác vụ nền với &dấu hiệu:

ssh -N -L 8080:ww.xx.yy.zz:80 user@server &

Điều này sẽ khởi chạy đường hầm ssh trong nền. Nhưng một số tin nhắn có thể xuất hiện, đặc biệt là khi bạn cố gắng kết nối với một cổng không nghe (nếu máy chủ apache của bạn không được khởi chạy). Để tránh những thông báo này sinh ra trong vỏ của bạn trong khi thực hiện các công việc khác, bạn có thể chuyển hướng STDOUT / STDERR sang khoảng trống lớn:

ssh -N -L 8080:ww.xx.yy.zz:80 user@server >/dev/null 2>&1 & 

Hãy vui vẻ với SSH.


17
Bạn cũng có thể sử dụng tùy chọn ssh -fthay vì &và chuyển hướng io.
tkrennwa

49

-f -N là những gì bạn đang tìm kiếm:

ssh -f -N -L MY_LOCAL_PORT:FOREIGN_ADDRESS:FOREIGN_PORT MYUSER@SSH_SERVER

3
Khi đường hầm được thiết lập, làm thế nào để bạn đóng nó bằng phương pháp này?
Magnetik

@magnetik Tìm quy trình với pskill
neu242

13
@magnetik và @ neu242 tốt hơn là sử dụng "ổ cắm chính" ssh -N -f -M -S /tmp/file-sock -L port:server:port_to user@...để bạn có thể giết liên kết sau đó bằng ssh -S /tmp/file -o exit user@....(hoặc giết). Bằng cách đó, không cần ps. Bạn có thể yêu cầu tự động tạo tập tin đó trong ~ / .ssh / config.
Metal3d

1
Ý tôi là "ổ cắm điều khiển" chứ không phải "ổ cắm chính"
Metal3d

8
Nó nên là ssh -S /tmp/file-sock -O exit, không phải -o en.wikibooks.org/wiki/OpenSSH/Cookbook/ Kẻ
fetsh
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.