Bagaimana cara mengatur pengguna cadangan Ubuntu tanpa shell login untuk ssh?

1

Saya mengatur Amanda untuk membuat cadangan jaringan kecil dari server dan desktop Ubuntu 16.04. Katakanlah U1 adalah server cadangan dan U2 adalah klien. Masing-masing memiliki akun bernama "cadangan" tanpa shell atau kata sandi masuk (dibuat secara default di Ubuntu). Saya ingin backup@U1SSH backup@U2menggunakan kunci, bukan kata sandi. Dari apa yang saya mengerti, lebih aman jika cadangan tidak memiliki login atau kata sandi, tetapi hanya dapat diakses dengan kunci ssh.

Saya telah membuat kunci SSH dan menyalin kunci publik U1 ke direktori home cadangan U2 /var/backups/.ssh/authorized_keys(dengan cadangan sebagai pemilik). Saya juga telah menyalin kunci host U2 ke U1 /var/backups/.ssh/known_hosts. Ketika saya mencoba ssh dari U1 ke U2

sudo -u backup ssh -i /etc/amanda/MyConfig/ssh-key U2.example.com

saya mendapat

This account is currently not available.

Saya dapat ssh dari akun saya di U1 ke akun lain di U2, jadi saya tahu ssh bekerja di antara kedua mesin. Dari pesan tersebut, saya menduga bahwa kurangnya kata sandi / login di akun cadangan adalah masalahnya. Bagaimana saya bisa mengatur ini dengan aman sehingga Amanda dapat ssh kepada klien untuk membuat cadangan jaringan?

Paul B
sumber
Anda tidak dapat masuk ke akun tanpa shell yang valid.
psusi
Itu masuk akal, tetapi bagaimana saya bisa mengubah akun untuk mengizinkan masuk dengan kunci ssh saja (tanpa kata sandi, baik pada mesin atau ssh)?
Paul B

Jawaban:

1

Buat pengguna, kunci akun, tambahkan kunci SSH dan Anda selesai. Jika Anda mengunci kata sandi akun, kunci SSH akan tetap berfungsi.

Anda harus setidaknya memiliki nama pengguna pada sistem jarak jauh untuk mengizinkan masuk. Tetapi itu tidak berarti bahwa pengguna harus memiliki akses kata sandi. Jadi jika Anda ingin melakukan ini, mari kita asumsikan nama pengguna cadangan Anda adalah backup; perhatikan ini adalah nama pengguna yang buruk karena itu sangat umum sehingga datang dengan beberapa kombo 8 huruf yang bekerja untuk Anda. Pokoknya, buat pengguna seperti ini:

sudo adduser backup

Oke, sekarang lanjutkan ke tumpukan pertanyaan yang biasa Anda dapatkan saat menjalankan addusertermasuk menetapkan kata sandi.

Lalu ketika pengguna itu dibuat, lakukan ini untuk mengunci akun:

sudo passwd -l backup

Sekarang jika Anda mengatur kunci SSH di bawah akun pengguna itu, Anda akan dapat masuk melalui SSH tetapi tidak melalui login kata sandi.

JakeGould
sumber
Jadi saya harus membuat akun pengguna reguler baru daripada memodifikasi akun sistem "cadangan" yang ada?
Paul B
@ PaulB Ya. Buat pengguna "cadangan" baru untuk kebutuhan Anda. Suka mungkin backitupatau backusrdan gunakan itu.
JakeGould
Saya mengatur pengguna cadangan baru seperti di atas, tetapi ketika saya ssh, ia meminta kata sandi pengguna baru. Ketika saya memasukkannya, dikatakan: Izin ditolak, silakan coba lagi.
Paul B
@ PaBB Apakah Anda menambahkan kunci SSH ke akun pengguna? Apakah .sshdirektori tersebut memiliki 700 izin dan apakah .ssh/authorized_keysfile tersebut memiliki 600 izin?
JakeGould
1
Saya mengubah nama file kunci dari ssh_key (.pub) menjadi id_rsa (.pub) dan sekarang berhasil!
Paul B