Jika seorang pengguna memilikinya loginShell=/sbin/nologin
apakah masih mungkin
ssh user@machine [command]
dengan asumsi bahwa pengguna memiliki kunci ssh yang tepat di direktori home-nya yang dapat digunakan untuk otentikasi?
Tujuan saya adalah untuk menjaga pengguna sebagai nologin, tetapi masih dapat menjalankan perintah pada beberapa mesin lain di jaringan (mirip dengan penggunaannya melalui 'sudo -u'), dan saya bertanya-tanya apakah ini kursus yang masuk akal.
ssh
login
account-restrictions
Centimane
sumber
sumber
command
dijalankan bukan dari shell login./sbin/nologin
sebagai shell. Jika kekhawatiran Anda adalah keamanan akun maka menonaktifkan auth kata sandi dan menggunakan kunci ssh sudah cukup./sbin/nologin
pengguna maka pengguna tidak akan dapat login atau menjalankan perintah pada mesin. cronjobs dapat dijalankan sebagai pengguna dansftp
dapat dikonfigurasi untuk membuka sesi, tetapi membuka shell melalui ssh tidak akan terjadiJawaban:
Menetapkan
/sbin/nologin
sebagai shell pengguna (atau/bin/false
atau/bin/true
, yang hampir setara ) melarang pengguna dari login untuk menjalankan perintah apa pun. SSH selalu memanggil shell login pengguna untuk menjalankan perintah, jadi Anda perlu mengatur shell login ke yang bisa menjalankan beberapa perintah.Ada beberapa shell terbatas yang memungkinkan pengguna untuk menjalankan hanya beberapa perintah. Misalnya rssh dan scponly keduanya kerang seperti yang memungkinkan pengguna untuk menjalankan perintah yang telah ditetapkan beberapa (seperti
scp
,sftp-server
,rsync
, ...). Lihat juga Membatasi akses pengguna di linux dan Apakah Anda memerlukan shell untuk SCP?sumber
Sepertinya jawabannya tidak.
dengan kunci ssh pada tempatnya hanya menghasilkan:
daripada menjalankan perintah, sepertinya saya harus memberikannya akses ke bash.
sumber
Saya tidak tahu apakah itu mungkin (seharusnya mudah untuk diuji) tetapi ada fitur yang mungkin menjawab pertanyaan Anda dengan cara tertentu dan dalam hal apa pun menyelesaikan masalah Anda.
Anda dapat menambahkan perintah ke baris kunci di
authorized_keys
. Dalam hal ini perintah ini dijalankan, tidak ada yang lain. Saya menganggap ini berfungsi dengan baik/sbin/nologin
karena shell harus diabaikan.Tetapi Anda akan membutuhkan kunci yang berbeda untuk setiap perintah yang Anda izinkan.
sumber
authorized_keys
dijalankan oleh shell login, jadi tidak, ini tidak berfungsi (bukan tanpa konfigurasi non-sepele tambahan). (Bagaimana menurunkan jawaban yang salah "bodoh"? Harap hormati orang lain .)