Đâ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ể:
user@server-name.com:~$ 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.