GNU/Linux >> Belajar Linux >  >> Linux

ZFS mengirim/menerima melalui ssh di linux tanpa mengizinkan login root

Saya menemukan masalah yang sama sebelumnya hari ini. Saya menemukan bahwa Anda dapat memberi otorisasi kepada pengguna biasa untuk melakukan operasi tertentu dengan perintah "zfs allow":

sebagai root, lakukan hal berikut di server:zfs memungkinkan nama_pengguna Anda menerima, membuat, memasang penyimpanan/foto

Setelah itu, Anda akan dapat ssh ke server menggunakan your_username dan Anda akan memiliki hak istimewa zfs untuk menerima. Lihat di sini:http://docs.Oracle.com/cd/E19253-01/819-5461/gfkco/index .html


Ini tidak sepenuhnya menghapus login root, tetapi mengamankan hal-hal di luar login berfitur lengkap.

Siapkan kepercayaan SSH dengan menyalin kunci publik pengguna lokal (biasanya ~/.ssh/id_rsa.pub ) ke file authorized_keys (~/.ssh/authorized_keys ) untuk pengguna jarak jauh. Ini menghilangkan permintaan kata sandi, dan meningkatkan keamanan karena kunci SSH lebih sulit untuk di-bruteforce. Anda mungkin juga ingin memastikan bahwa sshd_config memiliki PermitRootLogin without-password -- ini membatasi login root jarak jauh hanya ke kunci SSH (bahkan kata sandi yang benar pun akan gagal).

Anda kemudian dapat menambahkan keamanan dengan menggunakan ForceCommand direktif dalam file authorized_keys untuk mengizinkan hanya perintah zfs yang dieksekusi.


@analog900 berada di jalur yang benar.

Salah satu kunci untuk meningkatkan keamanan, termasuk menghindari kebutuhan login root, adalah dengan menggunakan struktur izin bawaan ZFS, dan juga menyusun transfer cadangan Anda dengan cara lain 'round and pull cadangan Anda melalui jaringan, daripada mendorongnya. Kemampuan untuk mencadangkan sistem file tanpa akses root adalah salah satu pencapaian desain utama sistem file ZFS.

Jalankan tugas di destination dan tarik data dari source , mungkin sesuatu seperti:

  • Pada sumber mesin, buat akun pengguna non-istimewa foo dan gunakan zfs allow untuk memberikan akun tersebut kemampuan untuk membuat dan mengirim snapshot:
    zfs allow foo mount,snapshot,send,hold storage/photos
  • Di tujuan mesin, buat akun non-istimewa bar dan berikan akun itu kemampuan untuk menerima/membuat/memasang sistem file:
    zfs allow bar mount,create,receive storage/photos
  • Di tempat tujuan, sebagai pengguna bar , buat kunci ssh khusus untuk pekerjaan cadangan. Instal separuh publik dari kunci itu di .ssh direktori pengguna foo pada mesin sumber. Ini memberi pengguna [email protected] akses login ssh yang aman ke [email protected] Akun. Juga, edit file ~bar/.ssh/config pada destination sehingga secara otomatis menggunakan nama file kunci SSH yang benar (yang Anda buat sebelumnya) dan nama pengguna:
    Host source
       Hostname FQDN.of.source.example.com
       User foo
       IdentityFile ~bar/.ssh/backup_key_id_rsa
    dt=$(date +%Y-%m-%d_%H-%M-%S)
    ssh source "zfs snap storage/[email protected]_$dt"
    ssh source "zfs send -R storage/[email protected]_$dt" | zfs receive storage/photos

Melakukannya dengan cara ini membutuhkan tidak akses root apa pun.


Linux
  1. Kirim perintah ke beberapa sesi SSH dengan Terminator

  2. Cara Menonaktifkan Login Pengguna Root melalui SSH

  3. ZFS Sebagai Sistem File Root Pada Mesin Linux Baru?

  1. Aktifkan login root SSH di Server Linux Debian

  2. Login SSH ke server RHEL 7 tanpa kata sandi

  3. Izinkan login root ssh di server Linux Ubuntu 14.04

  1. Cara Mengatur Login SSH Tanpa Kata Sandi

  2. Cara mengatur login SSH tanpa kata sandi di Linux

  3. Mengizinkan eksekusi perintah otomatis sebagai root di Linux menggunakan SSH