Đây là cấu hình như vậy từ một trong những máy chủ mà tôi duy trì. Cấu hình sử dụng dịch vụ systemd được tạo ở phía máy khách. Ngoài ra nó sử dụng tự động
, vì vậy bước đầu tiên chúng ta cần cài đặt nó.
sudo apt cài đặt autossh
Sau đó tạo tệp cấu hình SSH.
sudo nano /etc/ssh/ssh_config.d/auto-ssh-systemd-hosts.conf
Máy chủ reverse.server-name.com
Tên máy chủ 192.168.1.199
IdentityFile /root/.ssh/server-name.com/id_rsa
người dùng người dùng
Cổng 2222
Chuyển tiếp cục bộ 22 127.0.0.1:2222
Chuyển tiếp từ xa 2222 127.0.0.1:22
GatewayPorts có
Nén có
- Lưu ý khóa SSH thuộc quyền sở hữu của người dùng root, vì nó sẽ là chủ sở hữu của dịch vụ.
- Đừng quên thay đổi các thông số Chủ nhà, Tên máy chủ và tập tin nhận dạng.
- Ở đây giả sử máy chủ ssh ở cả hai hệ thống lắng nghe cổng tùy chỉnh 2222.
Ở giai đoạn này, bạn sẽ có thể:
Sudo ssh reverse.server-name.com # hoặc
Sudo autossh reverse.server-name.com
Cuối cùng tạo dịch vụ.
Sudo nano /etc/systemd/system/autossh-reverse-server-name.service
[Đơn vị]
Mô tả=Giữ đường hầm SSH để mở 'server-name.com'
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.server-name.com
ExecStop=/usr/bin/killall -s KILL autossh
Khởi động lại = luôn luôn
Khởi động lạiSec=3
[Cài đặt]
WantedBy=multi-user.target
- Thay thế tên máy chủ.com và đảo ngược.server-name.com với các giá trị thực tế.
Bây giờ kích hoạt và bắt đầu dịch vụ.
Sudo systemctl daemon-tải lại
Sudo systemctl kích hoạt autossh-reverse-server-name.service
Sudo systemctl start autossh-reverse-server-name.service
Để dừng và vô hiệu hóa dịch vụ.
Sudo systemctl stop autossh-reverse-server-name.service
Sudo systemctl vô hiệu hóa autossh-reverse-server-name.service
Bạn có thể nhận trạng thái hoặc khởi động lại dịch vụ bằng các lệnh sau.
Sudo systemctl status autossh-reverse-server-name.service
Sudo systemctl khởi động lại autossh-reverse-server-name.service
Dịch vụ sẽ được khởi động lại tự động nếu nó bị treo. Mặt khác tự động
sẽ giữ cho nó tồn tại lâu hơn nhiều so với ssh
, vì nó cũng tự động phát hiện lỗi kết nối.
Người giới thiệu:
Khi dịch vụ được bắt đầu, bạn sẽ có thể:
[email protected]:~$ ssh localhost -p 22 # kết nối với máy cục bộ
user@local-machine:~$ ssh localhost -p 22 # kết nối với tên máy chủ.com
Tất nhiên, bạn sẽ cần cung cấp dữ liệu xác thực chính xác cho các lệnh.