sshがリモートサーバーの既存の「スクリーン」セッションに再接続するのを防ぐ方法は何ですか?

sshがリモートサーバーの既存の「スクリーン」セッションに再接続するのを防ぐ方法は何ですか?

次のコマンドがリモートサーバーの既存の画面セッションに再接続するのを防ぐには?

ssh -t server2 "screen -dr admin"

コンピュータserver1とserver2はどちらも'という名前を持っています。行政'ランニング。 server1では、コマンドは完全に機能します。 'に再接続してください。行政'スクリーンセッション。ただし、server2で同じ操作を試みると、次のメッセージで接続が閉じられます。

"screen" isn't allowed to be executed.
Connection to server2 closed.

server1 が/var/log/auth.logscreen セッションに正常に再接続されました。

Jul 13 04:40:02 server1 sshd[3995]: Accepted publickey for dbkeys from 192.168.1.170 port 52434 ssh2: RSA a4:41:1e:62:66:33:35:5f:b0:d4:a7:cd:d9:b1:20:0d
Jul 13 04:40:02 server1 sshd[3995]: pam_unix(sshd:session): session opened for user dbkeys by (uid=0)
Jul 13 04:40:02 server1 systemd-logind[1144]: Removed session 9.
Jul 13 04:40:02 server1 systemd-logind[1144]: New session 10 of user dbkeys

server1はLinux Mint 17.3を実行しています。

server1 # uname -a
Linux server1 3.19.0-32-generic #37~14.04.1-Ubuntu SMP Thu Oct 22 09:41:40 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
server1 # cat /etc/issue
Linux Mint 17.3 Rosa \n \l

server2 が/var/log/auth.log画面セッションを再接続しようとして失敗しました。

Jul 13 11:40:32 server2 sshd[21144]: Accepted publickey for dbkeys from 77.225.135.132 port 52437 ssh2: RSA SHA256:uidABN1IbiI7jQx10VmpWrbCGgyTkGwJaIHiiG6crPI
Jul 13 11:40:32 server2 sshd[21144]: pam_unix(sshd:session): session opened for user dbkeys by (uid=0)
Jul 13 11:40:32 server2 systemd-logind[546]: New session 203 of user dbkeys.
Jul 13 11:40:32 server2 sshd[21183]: Received disconnect from 77.225.135.132 port 52437:11: disconnected by user
Jul 13 11:40:32 server2 sshd[21183]: Disconnected from 77.225.135.132 port 52437
Jul 13 11:40:32 server2 sshd[21144]: pam_unix(sshd:session): session closed for user dbkeys
Jul 13 11:40:32 server2 systemd-logind[546]: Removed session 203.

サーバー2はUbuntu 16.04.2を実行します。

root@server2:/var/log# uname -a
Linux audit.bitmark.io 4.4.0-83-generic #106-Ubuntu SMP Mon Jun 26 17:54:43 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
root@server2:/var/log# cat /etc/issue
Ubuntu 16.04.2 LTS \n \l

server1とserver2の/etc/ssh/sshd_configファイルは同じです。

screenserver2で実行が許可されていないものは何ですか?

ベストアンサー1

問題はログインシェルにあります。サーバー2では、sudosh代わりにログインシェルとして使用されます。/bin/bash

関連ライン/etc/passwd

dbkeys:x:1000:1000:DBKeys,,,:/home/dbkeys:/usr/local/bin/sudosh

ただし、/etc/sudosh.confプログラムの実行を明示的に許可する必要があります。screen

# Sudosh Configuration File
logdir                  = /var/log/sudosh
default shell           = /bin/bash
delimiter               = -
syslog.priority         = LOG_INFO
syslog.facility         = LOG_LOCAL2
clearenvironment        = yes

# Allow Sudosh to execute -c arguments?  If so, what?
-c arg allow = scp
-c arg allow = rsync
-c arg allow = screen

-c arg allow = screen最後に行を追加するとsudosh.conf問題が解決しました。

おすすめ記事