SSHがログインセッションを開始した後にファイルの内容を印刷しますか?

SSHがログインセッションを開始した後にファイルの内容を印刷しますか?

sshがUnixシステムにログインしたときにファイルの内容(ファイルが存在する場合)を印刷したいと思います。 MOTDからバナーを印刷してインストールしましたsshd_config。他のファイルも印刷したいです。どうすればいいですか? rcファイルを使用しようとしていますが、まだ機能していません。ファイルの内容を環境の変数に設定し、rcを介して印刷できますか?提案はありますか?

答え1

あなたはそれを使用することができます軍隊本部(sshd 構成オプション)

クライアントおよび ~/.ssh/rc (存在する場合) が提供するすべてのコマンドを無視し、ForceCommand で指定したコマンドを強制的に実行します。コマンドは、ユーザーのログインシェルと-cオプションを使用して呼び出されます。これはシェル、コマンド、またはサブシステムの実行に適用されます。 Matchブロック内で最も便利です。クライアントが最初に提供したコマンドは、SSH_ORIGINAL_COMMAND環境変数にあります。 "internal-sftp"コマンドを指定すると、ChrootDirectoryで使用するときにサポートファイルを必要としないin-process sftpサーバーが強制されます。デフォルトは「なし」です。

メッセージを表示し、シェルを実行するラッパースクリプトを指すだけです。

sshd_configはい(OpenSSH_7.2p2):

Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes

KeyRegenerationInterval 3600
ServerKeyBits 1024

SyslogFacility AUTH
LogLevel INFO

LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes

IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no

PermitEmptyPasswords no

ChallengeResponseAuthentication no

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes

AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

UsePAM yes

ForceCommand /usr/local/bin/ssh-wrapper

/usr/local/bin/ssh-ラッパー

#!/bin/sh
[ -r "/etc/ssh_banner" ] && cat /etc/ssh_banner
CMD=${SSH_ORIGINAL_COMMAND:+-c $SSH_ORIGINAL_COMMAND} 
exec $SHELL -l $CMD

このファイルが/etc/ssh_bannerにある場合は、その場所にメッセージが表示されます。

関連情報