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にある場合は、その場所にメッセージが表示されます。