SSHのポートフォワード専用ユーザ作成

さーて調べて作るかと思って検索したらこれが一発で出てきた。

この回答を見ながら設定すれば出来上がる。

今回はautosshを使って接続を行うので、その設定も残しておく。

一応メモ。

ユーザ作成

今回は制限ユーザを複数作成するため、グループで設定する。

グループ作成

適当にGIDが20000のグループを作成する。

groupadd -g 20000 forwarder

ユーザ作成

上記のグループに属するユーザを作成する。 ホームディレクトリは作成するが、シェルではログイン出来ない設定。

useradd -m -g forwarder -s /sbin/nologin hoge-node

sshdの設定

作ったグループに該当する場合に制限をかける。

Match Group forwarder
        AllowTcpForwarding yes
        GatewayPorts       yes
        AllowAgentForwarding no
        ForceCommand echo 'This account can only be used for [reason]'

内容は下記。

AllowTcpForwarding yes  --- portfowardの許可。デフォルトでyes。
GatewayPorts yes        --- RemoteForwardの許可。デフォルトはno。
AllowAgentForwarding no --- ssh-agentで定義された転送の許可。デフォルトはyes。
ForceCommand echo 'This account can only be used for [reason]'
    --- sshでログインせず、echoして終了する。

autosshで接続

autosshが入っていない場合はインストールする。

emerge -v autossh

autosshで接続を継続させる。

autossh -M 0 -q -f -N -g -o "ServerAliveInterval 15" -o "ServerAliveCountMax 3" -o "TCPKeepAlive yes" -o "ExitOnForwardFailure yes" -R 55555:localhost:22 -L 445:localhost:445 -D 10080 -p 22 -i id_rsa hoge-node@hostname

他は名前見ればわかる。

起動時実行されるよう設定しておけばよい。

comments powered by Disqus
カテゴリ
タグ
月別アーカイブ