Bash

我可以重新登錄斷開的會話嗎?

  • March 26, 2015

由於某些網路原因,我之前與伺服器的 SSH 會話已斷開連接。當我創建一個新會話時,我發現以前的會話仍然存在:

[root@localhost ~]# who
root     pts/0        2015-03-25 21:35 (10.1.1.1)
root     pts/1        2015-03-25 21:36 (10.1.1.1)
root     pts/2        2015-03-26 01:44 (10.1.1.1)

pts/0和是以前的pts/1會話終端。並且仍然有一些進展,例如vim

root      2953  2906  0 Mar25 pts/0    00:00:01 vim getpasswd.sh

我想重新登錄pts/0繼續執行vim進度,可以嗎?我該怎麼做?

您已經使用您設置的新 ssh 會話重新登錄。如果您想將舊的編輯會話連接到新登錄的會話,您可以嘗試reptyr,它“將正在執行的程序重新連接到新終端”。

如果這種斷開連接經常發生,您可以執行多種操作:

  • 在客戶端(或從命令行)設置 ServerAliveInterval 和/或 TCPKeepAlive /etc/ssh/ssh_config-o由@Lambert 評論)
  • /etc/ssh/sshd_config在伺服器上設置 ClientAliveInterval 和/或 TCPKeepAlive
  • 查看tmux, 或screen, 可以很容易地重新連接到會話;
  • install mosh,在客戶端和伺服器上,它使用 ssh 建立一個會話,然後只要伺服器或客戶端死亡(即當會話連接中斷,兩台機器之一的 IP 地址發生變化等),它就會重新連接。 )。

引用自:https://unix.stackexchange.com/questions/192576