GNU/Linux >> Belajar Linux >  >> Linux

Nama pengguna dan kata sandi di baris perintah dengan sshfs

Menyalurkan 'sshfs password' dengan <<< ke -o password_stdin bekerja di bash:

sshfs -o password_stdin [email protected]_ip:/home /mnt/backup <<< 'sshfs password'

Menurut manual, ada opsi -o password_stdin yang memungkinkan untuk membaca kata sandi dari input standar, yang mungkin merupakan pengalihan. Saya belum pernah menggunakannya, jadi saya berspekulasi.

Karena itu, saya sangat tidak menyarankan solusi semacam itu yang pada dasarnya tidak aman.

ssh bekerja sangat baik dengan sistem kunci privat/publik. Sederhana dan aman. Tidak perlu memasukkan kata sandi atau menuliskannya dengan jelas di skrip shell. Cukup tekan kunci publik Anda di server dan Anda dapat langsung terhubung.


-o password_stdin tampaknya tidak bekerja pada semua sistem, misalnya freeBSD. dll.

Anda juga dapat menggunakan expect Penerjemah, itu harus bekerja dengan sshfsand harus melakukan triknya.

Solusi lain adalah sshpass , misalnya, Anda sedang mencadangkan direktori /var/www

Mencadangkan:

name=$(date '+%y-%m-%d')
mkdir /backup/$name && tar -czvf /backup/$name/"$name.tar.gz" /var/www

mengunggah file cadangan ke server cadangan

sshpass -p "your_password" scp -r [email protected]_ip:/home/ /backup/$name

Jadi itu akan mengunggah direktori dengan cadangan hari ini

Tapi tetap saja, seperti yang dikatakan lebih tinggi, cara terbaik (aman dan sederhana) adalah dengan menggunakan pasangan kunci ssh
Satu-satunya ketidaknyamanan adalah Anda harus melalui proses pembuatan kunci satu kali di setiap server yang perlu Anda pasangkan, tetapi ini lebih baik daripada menyimpan kata sandi dalam format teks biasa di semua server yang ingin Anda cadangkan :),

Membuat Pasangan Kunci dengan Cara yang Benar

  • Di server Lokal

    ssh-keygen -t rsa
    
  • Di Server jarak jauh

    ssh [email protected]_servers_ip "mkdir -p .ssh"
    
  • Mengunggah Kunci Publik yang Dihasilkan ke Server Jarak Jauh

    cat ~/.ssh/id_rsa.pub | ssh [email protected]_servers_ip "cat >> ~/.ssh/authorized_keys"
    
  • Tetapkan Izin di Server jarak jauh

    ssh [email protected]_servers_ip "chmod 700 ~/.ssh; chmod 640 ~/.ssh/authorized_keys"
    
  • Masuk

    ssh [email protected]_servers_ip
    
  • Mengaktifkan Protokol SSH v2

    hapus komentar "Protokol 2" di /etc/ssh/sshd_config

  • mengaktifkan otorisasi kunci publik di sshd

    hapus komentar "PubkeyAuthentication yes" di /etc/ssh/sshd_config

  • Jika StrictModes disetel ke yes di /etc/ssh/sshd_config lalu

    restorecon -Rv ~/.ssh
    

Linux
  1. SSHPass:Cara SSH ke server menggunakan skrip tanpa kata sandi (non-interaktif)

  2. Bagaimana menghubungkan ke server ssh dengan plink dan cmd dan kunci publik

  3. Oring Dengan Benar Dalam Perintah Atas Ssh?

  1. Kirim email dari baris perintah dengan server smtp eksternal di Linux

  2. Perintah sshpass:Otentikasi Kata Sandi Non-interaktif dengan SSH

  3. Alternatif untuk baris perintah SSH dari Ubuntu

  1. Otomatisasi kata sandi SSH di Linux dengan sshpass

  2. Cara Menonaktifkan Login SSH Dengan Kata Sandi

  3. Cara Menginstal dan Menggunakan Alat Baris Perintah Mosh Linux