Điểm:2

Làm cách nào để khởi chạy và duy trì kết nối SSH ngược khi khởi động Ubuntu với systemd?

lá cờ cn

Mẹ tôi có một chiếc máy tính xách tay nhỏ, khi nó khởi động, SSH ngược tự kết nối với máy chủ (vì vậy tôi có thể trợ giúp khi cần).

Tôi đang cố gắng duy trì kết nối khi kết nối được bắt đầu bởi hệ thống.

Trong /reverse_SSH.sh Tôi đã có một cái gì đó như thế này:

#!/bin/bash
trong khi đúng; làm
    ssh -R 19123:localhost:22 [email protected]
    ngủ 1000
xong

Trong /etc/systemd/system/reverse_SSH.service Tôi đã có một cái gì đó như thế này:

[Đơn vị]
Mô tả = đảo ngược SSH

[Dịch vụ]
Loại = ngã ba
ExecStart=/reverse_SSH.sh

[Cài đặt]
WantedBy=multi-user.target

Khi tôi chạy Sudo systemctl bắt đầu đảo ngược_SSH, kết nối SSH dường như đã xảy ra và MOTD của máy chủ có thể được nhìn thấy trong đầu ra của trạng thái sudo systemctl reverse_SSH, nhưng kết nối SSH dường như không tồn tại và tôi không thể truy cập máy trên máy chủ bằng lệnh như ssh sonnyboy@localhost -p 19123.

Tôi đang làm gì sai? Cảm ơn!

Điểm:1
lá cờ cn

Tôi muốn sử dụng tự động trọn gói cho dịch vụ đó. Vì vậy, trước tiên hãy cài đặt nó:

cập nhật sudo apt && sudo apt cài đặt autossh

Sau đó, tạo mục nhập cấu hình cho kết nối của bạn, bằng cách tạo một tệp mới trong thư mục /etc/ssh/ssh_config.d/. Hãy gọi nó là đảo ngược.ssh.www.example.org.conf. Đây là một ví dụ:

Sudo nano /etc/ssh/ssh_config.d/reverse.ssh.www.example.org.conf
# Tệp này được tải bởi /etc/ssh/ssh_config
Lưu trữ reverse.ssh.www.example.org
    Tên máy chủ www.example.org
    IdentityFile /root/.ssh/your_passles_id_rsa
    mẹ người dùng
    Cổng 22
    Chuyển tiếp từ xa 19123 127.0.0.1:22
    GatewayPorts có
    Nén có
  • Lưu ý rằng khóa SSH thuộc quyền sở hữu của người dùng root, người sẽ quản lý kết nối bằng dịch vụ của chúng tôi.
  • Hai tùy chọn cuối cùng là không bắt buộc.

Cuối cùng tạo dịch vụ:

Sudo nano /etc/systemd/system/reverse-autossh-www-example-org.service
[Đơn vị]
Description=Giữ đường hầm thường trú cho www.example.org mở
#Sau=mạng.mục tiêu
Sau=mạng-online.đích

[Dịch vụ]
Người dùng = root
ExecStart=/usr/bin/autossh -M 0 -N -q -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" reverse.ssh.www.example.org
ExecStop=/usr/bin/killall -s KILL autossh
#ExecStop=/bin/kill $MAINPID
Khởi động lại = luôn luôn
Khởi động lạiSec=3
#Môi trường=AUTOSSH_GATETIME=0

[Cài đặt]
WantedBy=multi-user.target

Kích hoạt và bắt đầu dịch vụ:

Sudo systemctl daemon-tải lại
Sudo systemctl enable reverse-autossh-www-example-org.service
Sudo systemctl bắt đầu đảo ngược-autossh-www-example-org.service

Tôi đã sử dụng cấu hình này trong hai năm qua để giải quyết nhiệm vụ tương tự - nó hoạt động như một cơ duyên. Tuy nhiên, đây là một vài tài liệu tham khảo:

BlandCorporation avatar
lá cờ cn
Cảm ơn rất nhiều vì gợi ý của bạn ở đó. Tuy nhiên, khi tôi thử chạy nó, nó dường như chỉ hoạt động sau khi người dùng đã đăng nhập. Bạn có biết cách tiếp cận này có thể hoạt động hoàn toàn khi khởi động và không yêu cầu tương tác của người dùng không? Tôi đang tưởng tượng mình đang khởi động lại máy từ xa và sau đó cần nó để thiết lập lại kết nối SSH ngược với tôi.
pa4080 avatar
lá cờ cn
Xin chào, @BlandCorporation, khi một dịch vụ được bật, dịch vụ đó sẽ tự động bắt đầu trong quá trình khởi động, sau khi đáp ứng các điều kiện được mô tả trong phần đơn vị . Liệu trong trường hợp cụ thể của bạn `User=root`? Và có một số loại hệ thống tập tin được mã hóa?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.