Bagaimana ssh diizinkan untuk mengatur penerusan port jarak jauh tetapi tidak menjalankan perintah?

8

Bagaimana perintah SSH dapat diatur untuk memungkinkan penerusan port tetapi tidak menjalankan perintah.

Saya tahu bahwa login ssh dapat menggunakan -N untuk menghentikan perintah yang dieksekusi, tetapi bisakah file konfigurasi ssh diatur untuk melarangnya?

Membatasi jenis shell dan path di Linux ada pada opsi, tetapi bisakah itu dilakukan dalam konfigurasi SSH itu sendiri?

vfclists
sumber

Jawaban:

6

Lihat man sshddan cariAUTHORIZED_KEYS FILE FORMAT

Apa yang ingin Anda lakukan adalah membuat pasangan kunci publik / pribadi, dan meletakkan kunci publik dalam ~/.ssh/authorized_keysfile seperti biasa. Kemudian edit authorized_keysfile untuk menambahkan string:

command = "/ bin / false", penerusan no-agent, no-pty, no-user-rc, penerusan no-X11, permitopen = "127.0.0.1:80"

Pada akhirnya akan terlihat seperti:

command="/bin/false",no-agent-forwarding,no-pty,no-user-rc,no-X11-forwarding,permitopen="127.0.0.1:80" ssh-dss AAAAC3...51R==

Anda ingin mengubah argumen menjadi 'allowopen' dan mungkin mengubah beberapa pengaturan lain, tapi saya pikir pada dasarnya itu.

Slartibartfast
sumber
Saya kira izin membuka set port lokal yang dapat diteruskan dari pengguna akhir. Apakah ini memengaruhi penerusan port jarak jauh? Apakah itu hanya berlaku untuk kunci itu?
vfclists
File Authorized_key berada di ujung remote (ssh server). Ini menunjukkan kombinasi host + port yang memungkinkan klien dengan kunci yang diizinkan untuk terhubung melalui server. Port yang Anda gunakan pada sisi (klien ssh) lokal tidak relevan (dan mungkin tidak dikomunikasikan ke server), sehingga dihilangkan. Ya, itu hanya berlaku untuk kunci itu (itulah sebabnya mengapa terdaftar pada baris yang sama dengan kunci publik yang sesuai dengan kunci yang diizinkan)
Slartibartfast
1
Ada kesalahan ketik di sini: no-usr-rcseharusnya no-user-rc.
xebeche
2
Masih ada contoh no-usr-rc dalam jawabannya - tidak yakin apakah Anda melewatkannya atau jika hasil edit belum diproses?
Dave Gregory
1
Inilah sebabnya saya benci aturan 6-karakter-batas. Saya menghabiskan setengah jam untuk mencari tahu apa yang salah, ketika saya menyalin satu dengan kesalahan ketik, hanya untuk menemukan itu karena tidak ada seorang pun kecuali pemilik yang dapat memperbaiki jawaban ini.
zypA13510