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_name
tê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:
- 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.
- Và tôi cần khách hàng bị hạn chế ->
autossh
kết nối trung gian để hoàn toàn tự động.