Tôi là người dùng mới bắt đầu sử dụng Linux và cũng là người mới sử dụng ssh và đường hầm.Cách thiết lập tự động (khởi động lại) đường hầm ssh nền
Dù sao, mục tiêu của tôi là duy trì đường hầm ssh mở ở chế độ nền.
Để làm điều đó, tôi đã viết lô sau mà sau đó tôi thêm vào crontab (lô được xử lý tự động sau mỗi 5 phút trong ngày làm việc và từ 8 giờ sáng đến 9 giờ tối). Tôi đọc trong một số chủ đề khác trong stackoverflow mà một trong những nên sử dụng autossh mà sẽ đảm bảo ssh sẽ luôn luôn được ok thông qua một kiểm tra thường xuyên. Vì vậy đã làm tôi ....
#!/bin/bash
LOGFILE="/root/Tunnel/logBatchRestart.log"
NOW="$(date +%d/%m/%Y' - '%H:%M)" # date & time of log
if ! ps ax | grep ssh | grep tunnelToto &> /dev/null
then
echo "[$NOW] ssh tunnel not running : restarting it" >> $LOGFILE
autossh -f -N -L pppp:tunnelToto:nnnnn [email protected] -p qqqq
if ! ps ax | grep ssh | grep toto &> /dev/null
then
echo "[$NOW] failed starting tunnel" >> $LOGFILE
else
echo "[$NOW] restart successfull" >> $LOGFILE
fi
fi
Vấn đề của tôi là đôi khi các đường hầm ngừng hoạt động, mặc dù tất cả mọi thứ trông ok (ps ax | grep ssh> kết quả cho thấy hai nhiệm vụ dự kiến: autossh Nhiệm vụ chính và ssh đường hầm chính nó). Tôi thực sự biết về vấn đề gây ra đường hầm được sử dụng bởi một phần mềm của bên thứ ba mà gây ra một lỗi ngay sau khi đường hầm không còn đáp ứng.
SO Tôi tự hỏi làm thế nào tôi nên cải thiện hàng loạt của tôi theo thứ tự Nó sẽ có thể kiểm tra đường hầm và khởi động lại nó nếu nó xảy ra để được chết. Tôi đã thấy một số ý tưởng trong there, nhưng nó đã được ký kết bằng gợi ý "autossh" ... mà tôi đã sử dụng. Vì vậy, tôi không có ý tưởng ... Nếu có ai trong số các bạn có, tôi vui mừng có một cái nhìn vào họ!
Cảm ơn bạn đã quan tâm đến câu hỏi của tôi và cho các đề xuất (có thể) của bạn!
Tôi nghĩ bạn nên có một cái nhìn tại serverfault.com. Tìm kiếm 'ssh' hoặc' autossh' Ví dụ: http://serverfault.com/questions/159766/bash-script-with-permanent-ssh-connection – powerMicha