TCPトンネルをユーザーごとに制限する方法を見つけました。ここで、一部のユーザー/グループにネットワーク内の複数のクライアントへのアクセスを許可します。
OpenSSHサーバーのドキュメントの指示に従うと、OpenSSHサーバーを再起動できません。
ドキュメントから:
PermitOpen
TCPポート転送が許可される宛先を指定します。転送指定は、次のいずれかの形式である必要があります。PermitOpen Host:port PermitOpen IPv4_addr:port PermitOpen [IPv6_addr]:port
複数の転送は、空白で区切って指定できます。 anyの引数を使用して、すべての制限を削除し、転送要求を許可できます。 noneの引数を使用して、すべての転送要求を禁止できます。ワイルドカード「*」をホストまたはポートに使用して、すべてのホストまたはポートをそれぞれ許可できます。デフォルトでは、すべてのポート転送要求が許可されています。
(ソース: http://manpages.ubuntu.com/manpages/zesty/en/man5/sshd_config.5.html )
次の設定を使用しています:
Match Group SSHTunnel_WebUI
AllowTcpForwarding yes
PermitOpen="gitlab.company.de:80 wiki.company.de:80"
2番目のFQDN:port
を削除すると、sshd
を再起動できます。そうしないと、構成ファイルについてのエラーメッセージが表示されます。他の同様のルールですが、FQDN:port
設定が1つしかない場合は期待どおりに機能します。
設定文字列をフォーマットする方法は?
journalctl -xe
によって与えられたエラーメッセージ
Jan 08 00:45:56 wiki sshd[55992]: /etc/ssh/sshd_config line 150: bad port number in PermitOpen
Jan 08 00:45:56 wiki systemd[1]: ssh.service: Control process exited, code=exited status=255
Jan 08 00:45:56 wiki systemd[1]: ssh.service: Failed with result 'exit-code'.
Jan 08 00:45:56 wiki systemd[1]: Failed to start OpenBSD Secure Shell server.
-- Subject: Unit ssh.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit ssh.service has failed.
--
-- The result is RESULT.
Jan 08 00:45:56 wiki systemd[1]: ssh.service: Service hold-off time over, scheduling restart.
Jan 08 00:45:56 wiki systemd[1]: ssh.service: Scheduled restart job, restart counter is at 5.
関連するが該当しない質問とリンク:
PermitOpen
の形式は、ホストとポートのペアのスペースで区切られたリストです。ただし、指定した構成例には引用符が付いています。これらは許可されていません。
no引用符(および=
もオプションです):
PermitOpen gitlab.company.de:80 wiki.company.de:80