ポート転送を許可するようにSSHを構成しますが、特定のキーのコマンドはありませんか?


8

そこで、公開鍵をに追加しましたauthorized_keys。ポートを転送できるが、シェルがないように制限するにはどうすればよいですか?

回答:


10

次のno-ptyように、キーの前にキーワードを置く必要があります。

no-pty ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABBACzbcwCZNaN3HhHmpnaVrfZlNJ0HhPnOqEj
k2llms1OOPnEXetIlZuJw0UXbyMbhQbBl/E2wxXvXvF+jyLRR5yN6kBydM4LhjC0ej0PcH839vXd
uwJpDFjPw3s7r0VOhU1WRyk6Da6rX6shzabhQioIm3MHCjNOdywPb0k1cTj4yOxoOCOqGjmXK0
xxzTd+ZjTJqQGWzZ+8L8cVtKmU8kspYlCdhGWSv0Den36OsScnWTBn8A3X3lVJB5NkEm
BM1yKX4F6BhhD317VensEUu031PtFULeSF97IxDPmK36OFz9TPSf4d8Hp3BqtysqUlbWfEhYdHXj
+1Mn4xXZKiZhBh1DX youruser@yourhome

(これはすべて1行です。読みやすくするために改行を追加しました)。

更新:リモートコマンドの実行を防止したい場合は、追加する必要があります。 command="/bin/false"

no-pty,command="/bin/false" ssh-rsa ...

4
これにより、リモートログインの機能が制限され、リモートでのコマンドの実行が妨げられることはありません。Src:marc.info/
l

1
@mctylr:それは問題の一部ではありませんでした。しかし、あなたは正しいかもしれませんが、OPはそれを認識していませんでした。(+1)
cstamas 2010

1
また、リモートエンドにシェルがない場合は、「ssh -N」を使用してトンネルを維持する必要があることにも注意してください。
Mike Pountney

1

男sshd

セクションAUTHORIZED_KEYS FILE FORMAT。次のように、許可するポートとホストを追加するだけで、ユーザーが転送できるポートを制限できます。

permitopen = "192.0.2.1:80"

また、ユーザーの接続元、実行可能なコマンドなどを制限することもできます。


1

私はscponlyの使用を検討しますが、scp / sftp-onlyアクセスではなく、ポート転送に使用できると思います。これは、ユーザーがssh経由でログインしたりコマンドを実行したりすることを制限することを目的としています。

chrootされた環境でsshdを使用する必要がある、または使用したい他の要因は、chroot を使用してsftpを設定するためのいくつかの手順です。あなたはそれらをかなり簡単に適応できるはずです。

それがあなたの解決策を見つけるのに役立つことを願っています。


scponlygithub.com/scponly/scponlyに移動したようです。あなたのリンクは404を与えます。:(
Bill Weiss
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.