用密码保护你的screen会话


=Start=

缘由:

在学习screen命令的使用的时候,看到了下面的几个命令/功能:

  • Ctrl + a x :锁屏(需要你有该Linux登录用户的登录密码才能解锁,否则,当前的会话终端算是废了,你需要重新打开一个终端才行)(锁屏后,重新登录一个设置过密码的screen会话,你需要输入2次密码,第一次是输入Linux系统的登录密码,第二次是输入该screen会话的密码)
  • Ctrl + a :password :设置screen会话的密码(如果你不将加密后的密码串放入「~/.screenrc」文件中,那screen只会加密当前会话;如果将加密后的密码串放入「~/.screenrc」中,则默认都是需要该密码进行访问控制的)
  • Ctrl + a ] :粘贴screen剪贴板中的内容

觉得挺好的,所以自己实际测试了一下,整理之后便有了本文。

参考解答:

默认情况下,screen会话的密码是该Linux用户的登录密码,但是,你懂的,在一个共享的多用户主机上这样不太安全,所以,会有以下几种情况出现:

1.没有screen会话密码;
2.忘记screen会话密码;
3.想换screen会话密码;

针对第1种情况,再开一个终端然后「screen -r $screen_id」重新载入就行;

针对第2种情况,那还是算了吧(最后要么想起来密码,要么kill掉该会话吧);

针对第3种情况,按照下面的操作进行:
====
按下 Ctrl-a 然后再输入 :password 命令,连续输入2次新密码,这时就会产生加密后的密码串了,不过存放在screen的剪贴板中,你可以通过按键「Ctrl-a ]」将screen剪贴板中的内容粘贴出来(这里假设加密后的内容为 HGEmTnrfDQsqM),然后编辑或新建screen的配置文件 ~/.screenrc 添加如下内容:

password HGEmTnrfDQsqM

重启screen然后进行载入会话测试:

screen -r $screen_id

就会提示你输入session的密码了。

参考链接:

http://damien.krotkine.com/2011/09/01/protect-a-screen-session-with-a-password.html

说明:

上面的操作是针对于——已知/存在Linux用户登录密码的情况下进行的,如果你的Linux系统是「密钥登录」或「免密码登录」的情况,好像还真不行……除非你知道Linux用户的登录密码。

并且,即便这样做了之后,root用户想要获取你screen会话的内容还是有很多方法的,最多也只是麻烦一点而已,因为在Linux系统下「root can do anything」。

=END=


《“用密码保护你的screen会话”》 有 1 条评论

回复 a-z 取消回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注