
次のコマンドがリモートサーバーの既存の画面セッションに再接続するのを防ぐには?
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.log
screen セッションに正常に再接続されました。
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ファイルは同じです。
screen
server2で実行が許可されていないものは何ですか?
答え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
問題が解決しました。