SSHPASS Alat yang sangat baik untuk login SSH non -interaktif - Never Use On Production Server

SSHPASS Alat yang sangat baik untuk login SSH non -interaktif - Never Use On Production Server

Dalam kebanyakan kasus, administrator sistem Linux masuk ke server Linux jarak jauh menggunakan SSH baik dengan menyediakan kata sandi, atau login SSH tanpa kata sandi, atau otentikasi SSH berbasis keybased.

Bagaimana jika Anda ingin memasok a kata sandi bersama nama belakang untuk meminta ssh sendiri? Di sinilah sshpass datang untuk menyelamatkan.

sshpass adalah alat baris perintah sederhana dan ringan yang memungkinkan kami memberikan kata sandi (otentikasi kata sandi non-interaktif) ke prompt perintah itu sendiri, sehingga skrip shell otomatis dapat dieksekusi untuk mengambil cadangan melalui cron penjadwal.

SSH menggunakan akses langsung TTY untuk memastikan bahwa kata sandi sebenarnya disediakan oleh pengguna keyboard interaktif. Sshpass menjalankan SSH dalam tty yang dikhususkan, menyesatkannya dengan percaya bahwa ia menerima kata sandi dari pengguna interaktif.

Penting: Menggunakan sshpass dianggap paling tidak aman, karena mengungkapkan kata sandi kepada semua pengguna sistem pada baris perintah dengan sederhana "PS" memerintah. Saya sangat merekomendasikan menggunakan otentikasi tanpa kata sandi SSH.

Instal SShPass di Sistem Linux

Di dalam Redhat/centos sistem berbasis, pertama Anda perlu mengaktifkan repositori epel pada sistem Anda untuk menginstalnya menggunakan perintah yum seperti yang ditunjukkan.

# yum instal sshpass # dnf instal sshpass [on Fedora 22+ versi] 

Di debian/ubuntu dan turunannya, Anda dapat menginstalnya menggunakan perintah apt-get seperti yang ditunjukkan.

$ sudo apt-get install sshpass 

Atau, Anda dapat menginstal dari sumber ke versi terbaru sshpass, Pertama -tama unduh kode sumber dan kemudian ekstrak konten file tar dan instal seperti itu:

$ wget http: // sourceForge.Net/Project/SShpass/File/LARDER/Unduh -O SSHPASS.ter.gz $ tar -xvf sshpass.ter.GZ $ CD SSHPASS-1.06 $ ./Konfigurasikan # sudo buat instal 

Cara menggunakan sshpass di linux

sshpass digunakan bersama dengan ssh, Anda dapat melihat semua sshpass Opsi Penggunaan dengan deskripsi lengkap dengan mengeluarkan perintah di bawah ini:

$ sshpass -h 
bantuan sshpass
Penggunaan: sshpass [-f | -d | -p | -e] [-hv] Parameter perintah -f nama file ambil kata sandi untuk digunakan dari nomor -d nomor penggunaan nomor sebagai deskriptor file untuk mendapatkan kata sandi -p kata sandi menyediakan kata sandi sebagai argumen ( keamanan tidak bijaksana) -e Kata sandi disahkan sebagai env -var "sshpass" tanpa parameter -kata sandi akan diambil dari stdin -h show help (layar ini) -v informasi versi cetak di sebagian besar salah satu dari -f, -d, -p atau -e harus digunakan 

Seperti yang saya sebutkan sebelumnya, sshpass lebih dapat diandalkan dan berguna untuk tujuan skrip, pertimbangkan perintah contoh di bawah ini.

Masuk ke server Linux SSH jarak jauh (10.42.0.1) Dengan nama pengguna dan kata sandi dan periksa penggunaan disk sistem-sistem jarak jauh seperti yang ditunjukkan.

$ sshpass -p 'my_pass_here' ssh [email dilindungi] 'df -h' 

Penting: Di sini, kata sandi disediakan pada baris perintah yang praktis tidak aman dan menggunakan opsi ini tidak disarankan.

SSHPASS - Linux Remote Login via SSH

Namun, untuk mencegah menampilkan kata sandi di layar, Anda dapat menggunakan -e bendera dan masukkan kata sandi sebagai nilai dari Sshpass Variabel lingkungan seperti di bawah ini:

$ ekspor sshpass ='my_pass_here' $ echo $ sshpass $ sshpass -e ssh [email dilindungi] 'df -h' 
sshpass - sembunyikan kata sandi di prompt

Catatan: Dalam contoh di atas, Sshpass Variabel lingkungan hanya untuk tujuan sementara dan akan dihapus selama reboot.

Untuk mengatur secara permanen Sshpass variabel lingkungan, buka /etc/profile File dan ketik pernyataan ekspor di awal file:

Ekspor sshpass ='my_pass_here' 

Simpan file dan keluar, lalu jalankan perintah di bawah ini untuk mempengaruhi perubahan:

$ source /etc /profile 

Di sisi lain, Anda juga dapat menggunakan -F bendera dan masukkan kata sandi ke dalam file. Dengan cara ini, Anda dapat membaca kata sandi dari file sebagai berikut:

$ sshpass -f password_filename ssh [email dilindungi] 'df -h' 
sshpass - Suplai file kata sandi untuk masuk

Anda juga dapat menggunakan SSHPASS untuk mentransfer file menggunakan SCP atau file cadangan/sinkronisasi melalui RSYNC menggunakan SSH seperti yang ditunjukkan:

------- Transfer file menggunakan SCP ------- $ scp -r/var/www/html/contoh.com --rsh = "sshpass -p 'my_pass_here' ssh -l Aaronkilis "10.42.0.1:/var/www/html ------- Cadangan atau sinkronisasi file menggunakan rsync ------- $ rsync --rsh = "sshpass -p 'my_pass_here' ssh -l Aaronkilis "10.42.0.1:/data/cadangan//cadangan/ 

Untuk penggunaan lebih lanjut, saya sarankan Anda untuk membaca sshpass Halaman pria, ketik:

$ man sshpass 

Dalam artikel ini, kami menjelaskan sshpass Alat sederhana yang memungkinkan otentikasi kata sandi non-interaktif. Meskipun, alat ini mungkin bermanfaat, sangat disarankan untuk menggunakan mekanisme otentikasi kunci publik SSH yang lebih aman.

Tolong, tinggalkan pertanyaan atau komentar melalui bagian umpan balik di bawah ini untuk diskusi lebih lanjut.