bắt đầu tự động đảo ngược đường hầm tự động khi mạng lên


7

Tôi kết nối từ máy tính cá nhân của mình thông qua một máy chủ Internet mà tôi sở hữu với một máy khách bị hạn chế (mà tôi cũng sở hữu) bằng cách sử dụng đường hầm ssh ngược.

Tôi có một kịch bản thiết lập máy khách bị hạn chế đối với chân trung gian của đường hầm ssh này. Nó hoạt động tốt nếu tôi thực hiện kịch bản bằng tay. Đây là:

#!/bin/sh
autossh -M 12399 -oPubkeyAuthentication=yes -oPasswordAuthentication=no -oLogLevel=error  -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no -i ~/.ssh/named_id_rsa -R 12345:localhost:22 client@example.com -p 22

Tôi muốn có nó chạy tự động bất cứ khi nào mạng trên máy này.

Để thực hiện điều này, tôi nghĩ về việc lưu nó dưới dạng: /etc/network/if-up.d/reverse_ssh_tunnel.sh

Tôi biết tôi sẽ phải xóa "~ /" và chỉ định đường dẫn đầy đủ đến khóa riêng là home / username / .ssh / tên_id_rsa.

Tôi nghi ngờ tôi sẽ phải sử dụng my_script_nametên người dùng su -c , nhưng tôi không thể làm việc đó. Giải quyết phần này của câu hỏi của tôi là quan trọng nhất. Nó cần phải hoàn toàn tự động và không cần giám sát.

Để kết nối từ nhà của tôi, tôi làm hai bước thủ công:

A. ssh home -> người trung gian
B. người trung gian ssh -> khách hàng bị hạn chế

A & B có thể được thực hiện trong một bước duy nhất không? (Điều này sẽ tốt, nhưng không cần thiết.)

Tóm tắt:

  1. Lý tưởng nhất là tôi muốn thực hiện A & B trong một bước, theo cách thủ công.
  2. Và tôi cần khách hàng bị hạn chế -> autosshkết nối trung gian để hoàn toàn tự động.

Câu trả lời:


4

OK, cuối cùng đã làm cho nó hoạt động. Chi tiết có trong câu hỏi này: Máy tính để bàn từ xa qua đường hầm đảo ngược SSH để thay thế TeamViewer

Tóm tắt:

Trên máy tính để bàn (sẽ nhận được hỗ trợ):

su -l -c "autossh -M 5234 -N -f -R 1234:localhost:22 user@middleman.com &" username

Trên máy tính xách tay (hỗ trợ):

tôi @ máy tính xách tay: ~ / .ssh $ nano config

Host family_desktops
  ProxyCommand ssh middleman_fqdn nc localhost %p
  User admin
  PasswordAuthentication no
  IdentityFile ~/.ssh/my_id_rsa

Sau đó, tôi chỉ kết nối với "máy tính để bàn từ xa" trong một bước:

tôi @ máy tính xách tay: ~ $ ssh gia đình_desktops -p 1234


Mẹo hay để hỗ trợ các hộp * nix, nhưng điều này sẽ không thay thế Teamviewer để hỗ trợ các môi trường của Wind * ws.
Felipe Alvarez
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.