Saat Anda mengaktifkan login tanpa kata sandi, Anda mungkin menggunakan SSH untuk menjalankan perintah dalam mode batch pada mesin jarak jauh atau menggunakan SCP untuk menyalin file dari/ke mesin jarak jauh.
Jika ada beberapa masalah dengan kata sandi yang kurang login, program batch Anda mungkin berakhir dengan loop atau timeout.
Pada artikel ini, mari kita tinjau bagaimana menginstruksikan ssh/scp untuk melakukan operasi hanya jika Anda dapat melakukannya tanpa menunggu kata sandi.
Sebelum Anda mencoba ini, pastikan login tanpa kata sandi diatur antara lokal Anda host dan host jarak jauh.
1. ssh -o “BatchMode yes” Contoh Penggunaan
Jika Anda mengaktifkan password less login, contoh berikut akan login ke remote host dan menjalankan perintah who tanpa meminta password.
local-host# ssh ramesh@remote-host who
Jika password less login tidak diaktifkan, itu akan meminta password pada remote host seperti yang ditunjukkan di bawah ini.
local-host# ssh ramesh@remote-host who ramesh@remote-host's password:
Jika Anda menggunakan ssh -o “BatchMode yes”, maka itu akan melakukan ssh hanya jika login tanpa kata sandi diaktifkan, jika tidak maka akan mengembalikan kesalahan dan berlanjut.
local-host# ssh -o "BatchMode yes" ramesh@remote-host Command
Eksekusi perintah mode batch menggunakan SSH — kasus sukses
local-host# ssh -o "BatchMode yes" ramesh@remote-host who .. [Note: This will display the output of remote-host's who command]
Eksekusi perintah mode batch menggunakan SSH — Kasus kegagalan
local-host# ssh -o "BatchMode yes" ramesh@remote-host who Permission denied (publickey,password).
Catatan: Jika Anda tidak menggunakan -o "BatchMode yes", perintah di atas akan meminta kata sandi untuk akun saya di host jarak jauh. Inilah perbedaan utama dalam menggunakan opsi BatchMode ya.
2. scp -B opsi Contoh Penggunaan
Jika Anda menggunakan opsi scp -B, scp hanya akan dijalankan jika login tanpa kata sandi diaktifkan, jika tidak maka akan langsung keluar tanpa menunggu kata sandi.
$ scp -B file root@IP:PATH
SCP dalam mode Batch — Kasus Berhasil
local-host# scp -B /etc/yp.conf ramesh@remote-host:/tmp yp.conf 100% 84 0.1KB/s 00:00
SCP dalam mode Batch — Kasus Kegagalan
Dalam contoh ini, jika scp dimungkinkan tanpa autentikasi, perintah akan dijalankan jika tidak maka akan keluar seperti yang ditunjukkan di bawah ini.
local-host# scp -B /etc/yp.conf ramesh@remote-host:/tmp Permission denied (publickey,password). lost connection