Konfigurasikan SSH untuk memungkinkan penerusan porta tetapi tidak ada perintah untuk kunci tertentu?

8

Jadi saya telah menambahkan kunci publik ke authorized_keys. Bagaimana saya bisa membatasinya sehingga dapat meneruskan port tetapi tidak memiliki shell?

thelsdj
sumber

Jawaban:

10

Anda harus meletakkan no-ptykata kunci sebelum kunci Anda sehingga akan terlihat seperti ini:

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

(Ini semua dalam satu baris, saya menambahkan jeda baris untuk keterbacaan).

UPDATE: jika Anda ingin mencegah eksekusi perintah jauh Anda harus menambahkan: command="/bin/false"

no-pty,command="/bin/false" ssh-rsa ...
cstamas
sumber
4
Itu membatasi kemampuan untuk memiliki login jarak jauh, itu tidak mencegah eksekusi perintah dari jauh. Src: marc.info/?l=openssh-unix-dev&m=111143581515782&w=2
mctylr
1
@ mctylr: itu bukan bagian dari pertanyaan. Tapi Anda benar mungkin OP tidak menyadarinya, jadi saya menambahkannya ke jawabannya. (+1)
cstamas
1
Juga perlu dicatat adalah bahwa Anda perlu menggunakan 'ssh -N' untuk menjaga terowongan ketika tidak ada shell di ujung remote.
Mike Pountney
1

sshd

Bagian FORMAT FILE AUTHORIZED_KEYS . Anda dapat membatasi apa yang dapat ditransfer oleh pengguna hanya dengan menambahkan port dan host yang ingin Anda izinkan

permitopen = "192.0.2.1:80"

Anda juga dapat membatasi dari mana pengguna terhubung, perintah mana yang dapat dijalankan, dll.


sumber
1

Saya akan melihat menggunakan scponly , saya kira itu dapat digunakan untuk port forwarding daripada akses scp / sftp-only. Ini dimaksudkan untuk membatasi pengguna dari masuk atau menjalankan perintah melalui ssh.

Faktor lain yang mungkin Anda perlukan, atau ingin gunakan sshd di lingkungan chroot , berikut adalah beberapa petunjuk tentang cara mengatur sftp menggunakan chroot. Anda harus dapat mengadaptasinya dengan cukup mudah.

Saya harap ini membantu Anda menemukan solusi Anda.

mctylr
sumber
scponlytampaknya telah pindah ke github.com/scponly/scponly . Tautan Anda memberikan 404. :(
Bill Weiss