今天发现作为我 sudo 进入的不同用户运行屏幕将不起作用!
IE
ssh bob@server # ssh into server as bob
sudo su "monitor" -
screen # fails: Cannot open your terminal '/dev/pts/0'
Run Code Online (Sandbox Code Playgroud)
我有一个以“监视器”用户身份运行的脚本。我们在屏幕会话中运行它,以便在屏幕上看到输出。问题是,我们有许多用户使用自己的帐户(即 bob、james、susie 等)登录,然后他们 sudo 进入“监视器”用户。让他们访问“监视器”用户是不可能的。
情况:
1.1.1.1在 Amazon EC2 中运行,使用 UDP 协议。2.2.2.2位于 ADSL 连接上的某个位置,位于 wifi 家用路由器和防火墙后面。问题是客户端会每 40 秒重新连接一次,即使连接似乎工作正常。
正如您在下面看到的,我们已经keepalive 10 40在服务器上进行了配置,并将其适当地推送到客户端。我可以更改该值,但当然我们确实希望客户端在连接实际中断时重新连接(例如,wifi 路由器已重新启动并忘记了所有有状态的 UDP 规则)。所以这不是一个好的选择。
即使我ssh通过 VPN连接到客户端并通过在 中上下滚动产生一些流量less,或者如果我ping通过 VPN连续运行到客户端,也会发生断开连接。
我们也遇到了由 MTU 大小引起的数据包丢失的问题,但这已通过mssfix 1200在客户端上使用得到解决。作为记录,客户端可以使用以下命令 ping 服务器(VPN 外)
ping -M do -s 1412 -c 1 1.1.1.1
Run Code Online (Sandbox Code Playgroud)
所以我们的mssfix值理论上可以根据这个答案设置为1372 ;1200 只是为了增加安全余量(因此我们可以在其他网络上的其他客户端上重用此配置)。
从客户端日志:
[server] Inactivity timeout (--ping-restart), …Run Code Online (Sandbox Code Playgroud)