Saya ingin dapat masuk ke remote melalui ssh tanpa harus memasukkan kata sandi setiap saat.
- Bagaimana cara mengaturnya?
- Apakah perintah berbeda diperlukan untuk menjalankan sesi tanpa kata sandi?
ssh
authentication
Oxwivi
sumber
sumber
Jawaban:
Menjawab
Jalankan perintah ini:
Maka Anda harus menyalin kunci baru ke server Anda :
Setelah kunci disalin, ssh ke mesin seperti biasa:
Anda sekarang dapat masuk tanpa memasukkan kata sandi dari mesin tertentu tempat Anda menjalankan perintah.
Contoh
Penjelasan
Ini mengasumsikan Anda sudah berhasil terhubung ke server Anda melalui SSH.
Anda harus membuat SSH Keypair yang memungkinkan Anda mengidentifikasi Anda sendiri tanpa menggunakan kata sandi. Anda dapat memilih untuk melindungi kunci dengan kode sandi jika diinginkan, tetapi ini dapat dibiarkan kosong sehingga memungkinkan akses SSH yang benar-benar tanpa kata sandi.
ssh-keygen
ini akan membuatid_rsa
danid_rsa.pub
file. Thepub
file apa yang terjadi di server, kunci pribadi (id_rsa
) adalah apa yang tetap dengan Anda dan bagaimana Anda mengidentifikasi diri.ssh-copy-id user@server
mengganti pengguna dengan pengguna jarak jauh Anda dan server dengan nama DNS mesin atau alamat IP. Ini akan meminta kata sandi SSH Anda, masukkan dan jika semua selesai dengan sukses Anda akan dapat mengakses mesin melaluissh user@server
tanpa perlu kata sandi.Referensi
sumber
ssh-keygen
ikuti petunjuk di layar, lalu ketikssh-copy-id user@server
mengganti pengguna dengan pengguna jarak jauh dan server dengan mesin jarak jauhssh-copy-id "[email protected] -p 1234"
.Ketikkan perintah berikut:
ssh-keygen
Tekan Entertombol hingga Anda mendapatkan prompt
ssh-copy-id -i root@ip_address
(Ini akan meminta kata sandi sistem host)
ssh root@ip_address
Sekarang Anda harus bisa masuk tanpa kata sandi.
sumber
Cara saya biasanya melakukan ini adalah sebagai berikut:
ssh-keygen -t rsa
(Saat diminta kata sandi, biarkan kosong)
Kemudian:
cat ~/.ssh/id_rsa.pub | ssh username@hostname 'cat >> .ssh/authorized_keys'
(Ini membutuhkan folder .ssh berada di direktori home pada hostname yang ditargetkan, dengan file Authorized_key di dalamnya)
Tentu saja, ganti nama pengguna dengan nama pengguna yang diinginkan, dan nama host dengan nama host atau alamat IP yang diinginkan
Setelah itu, hanya SSH ke kotak itu seperti yang biasa Anda lakukan.
sumber
touch
danchmod
perintah dalam jawaban Rinzwind?.ssh/authorized_keys
file ke 0600 atau ini tidak akan berhasilBiasanya saya gunakan
sshpass
untuk itu, instal dengansudo apt-get install sshpass
dan gunakan seperti inisumber
sshpass
merupakan peretasan yang sangat berguna jika Anda tidak dapat mengubah metode otentikasi pada server jarak jauh!https://help.ubuntu.com/community/SSH/OpenSSH/Configuring#disable-password-authentication
sumber
PasswordAuthentication no
memengaruhi semua pengguna? Jika tidak, bagaimana cara mematikannya untuk pengguna normal tetapi membiarkannya tidak berubah untuk root saat saya mengujinya? Saya tidak benar-benar ingin membuatnya dan mengunci diri sepenuhnya.Permission denied (publickey).
denganPasswordAuthentication no
. Apa yang harus saya lakukan? Apakah saya menggantiPasswordAuthentication no
host lain?Solusi ini khusus untuk pengguna yang menggunakan Windows untuk ssh ke mesin jarak jauh mereka termasuk gambar cloud di AWS Cloud dan GCE Cloud
Penolakan
Baru-baru ini menggunakan solusi ini untuk login jarak jauh gambar vm baru yang digunakan di GCE.
Alat yang digunakan:
puttygen
unduhan puttygenwinscp
download wincpLangkah-langkah untuk melakukan:
Bagaimana cara melakukannya:
1. Hasilkan kunci / pasangan atau gunakan kunci pribadi yang ada
Jika Anda memiliki kunci pribadi:
Buka
puttygen
, tekan tombol muat dan pilih*.pem
file kunci pribadi Anda ( ).Jika Anda tidak memiliki kunci pribadi:
puttygen
,(dari sumber 1, tautan diberikan di bawah ini)
2. Buat file 'otor_keys' baru (dengan
notepad
)Salin data kunci publik Anda dari bagian "Kunci publik untuk menempel ke file OpenSSH official_keys" dari Generator Kunci Putty, dan tempelkan data kunci ke
authorized_keys
file.Pastikan hanya ada satu baris teks dalam file ini.
3. Unggah kunci ke server Linux
Unggah file berwenang_keys ke direktori home di mesin jarak jauh.
4. Tetapkan izin yang tepat
Buat
.ssh
direktori (jika tidak ada)Salin
authorized_keys
file ke.ssh
direktori.(ini akan menggantikan
authorized_keys
file yang ada , perhatikan ini).Jika file ada, cukup tambahkan konten file ini ke file yang ada.
Jalankan perintah untuk mengatur izin:
Sekarang Anda akan dapat
ssh
masuk ke mesin jarak jauh tanpa memasukkan kredensial setiap waktu.Bacaan lebih lanjut:
Membuat dan mengunggah kunci SSH di bawah Windows
OpsenSSH kunci otentikasi sertifikat PEM PUB CRT
sumber
Jika Anda membuat kunci publik / pricate dan masuk menggunakan kunci publik kami yang baru dibuat, Anda tidak perlu mengetikkan kata sandi Anda. Bergantung pada konfigurasi key-ring dan / atau ssh agent Anda, Anda mungkin perlu melindungi kunci Anda dengan frasa sandi.
Berikut adalah salah satu dari banyak howto singkat untuk Anda. Sangat penting untuk keselamatan metode ini, bahwa kunci pribadi yang dihasilkan tetap pribadi! Anda tidak boleh membaginya dengan siapa pun atau mengizinkan akses itu dalam kapasitas apa pun.
Perintah ini menghasilkan kunci yang cukup kuat di
~/.ssh/
:Di dalam
~/.ssh/
Anda akan menemukan kunci publik Anda sebagaiid_rsa.pub
. Isinya harus ditambahkan keauthorized_keys
file server Anda dengan mengangkut melalui media yang dapat diangkut (pen drive) atau dengan segera mengaktifkan otentikasi kata sandi di server, kemudian menggunakanssh-copy-id ~/.ssh/id_rsa.pub username@server
dan kemudian menonaktifkannya lagi.Jika Anda memilih untuk mengamankan kunci Anda dengan frasa sandi (pada langkah pertama), Anda dapat menggunakan
ssh-agent
atau kunci Ubuntu untuk mengamankan yang kasar secara lokal sehingga Anda tidak harus mengetikkannya setiap saat.sumber
Untuk membuat beberapa tambahan:
Mac secara default tidak memiliki
ssh-copy-id
, Anda harus menginstalnya sendiri:temukan lebih lanjut di sini: https://github.com/beautifulcode/ssh-copy-id-for-OSX
jika Anda telah membuat port-forwarding, perintahnya harus seperti ini:
perhatikan bahwa tanda kutip diperlukan.
sumber
Login / salin jarak jauh tanpa memberikan kata sandi
Aplikasi
ssh
danscp
untuk login jarak jauh dan salinan jarak jauh, masing-masing, memungkinkan Anda untuk berkomunikasi dengan host jarak jauh tanpa memberikan kata sandi. Ini mengharuskan Anda mengikuti prosedur otentikasi seperti yang dijelaskan di bawah ini. Yang kami maksud dengan klien adalah mesin yang Anda duduki dan server yang kami maksud adalah mesin yang ingin Anda masuki tanpa memberikan kata sandi. Langkah-langkah prosedur otentikasi adalah:$HOME/.ssh
.$HOME/.ssh/authorized_keys
atau$HOME/.ssh/authorized_keys2
di server.Ada tiga jenis protokol otentikasi. Anda menentukan jenisnya ketika menjalankan ssh-keygen:
chmod 0700
memastikan bahwa file ini tidak dapat dibaca oleh orang lain) dan identity.pub (kunci publik).ssh-keygen -t rsa
dan menghasilkan fileid_rsa
(kunci pribadi) danid_rsa.pub
(kunci publik)ssh-keygen -t dsa
dan menghasilkan fileid_dsa
(kunci pribadi) danid_dsa.pub
(kunci publik)Saat menjalankan ssh-keygen Anda dapat mengandalkan jawaban default (menyiratkan bahwa Anda tidak memberikan frasa sandi). Ini membuat seluruh pengaturan sederhana, tetapi juga tidak aman.
Anda dapat menentukan jenis kunci yang akan digunakan oleh opsi untuk ssh ;
ssh -1
memaksa penggunaan kunci RSA1 (protokol versi 1), sedangkanssh -2
memaksa ssh untuk mencoba kunci RSA atau DSA saja (protokol versi 2). Dalam contoh di bawah ini, kami membuat dan menginstal kunci RSA1 dan DSA pada host jarak jauh sehingga Anda memiliki lebih banyak fleksibilitas. Anda dapat membuat file konfigurasi di.ssh
direktori Anda dengan baris tersebutIni membuat ssh mencoba koneksi RSA1 (versi protokol 1) sebelum RSA / DSA (versi protokol 2).
Menggunakan kunci RSA1
Menggunakan kunci DSA
Ini semua yang harus Anda lakukan jika Anda tidak menggunakan kata sandi saat membuat kunci. Anda dapat menguji koneksi dengan menjalankan ssh $ remote dan melihat apakah Anda dapat masuk tanpa memberikan kata sandi (Anda mungkin perlu menggunakan
-1
atau-2
sebagai opsi untuk ssh ). Prosedur ini, tentu saja, dapat diulang untuk mesin yang ingin Anda masuki.Jika Anda memang menggunakan kata sandi, Anda harus menjalankan program
ssh-agent
untuk memulai shell khusus, diikuti denganssh-add
mendaftarkan kombinasi kunci / kata sandi Andasshd
. Lihat halaman manual untuk program-program ini untuk informasi lebih lanjut.Skrip untuk mengotomatiskan koneksi bebas kata sandi:
ssh-no-password.sh
disalin dari: http://folk.uio.no/hpl/scripting/doc/ssh-no-password.html
sumber
Saya ingin menambahkan jawaban bagi mereka yang mungkin menemukan mereka harus memasukkan kata sandi bahkan mereka telah membaca semua jawaban di sini karena Anda telah menetapkan IdentitiesOnly sebagai ya. Dan jawabannya di sini dapat menghemat banyak waktu untuk mengelola beberapa kunci, menjadi kunci untuk git atau server.
Setelah saya membuat kunci dan menyalinnya ke server:
Saya menemukan itu tidak berhasil.
Lalu saya pergi untuk memeriksa
~/.ssh/config
file pada klien, saya melihat ini di bagian bawah:Lalu saya tambahkan ini di atas:
Saya bisa masuk dengan memasukkan
ssh somename
.Kemudian Anda dapat menambahkan beberapa kunci ssh menggunakan nama favorit Anda, dan Anda hanya perlu menambahkan pengaturan seperti empat baris di atas ke file konfigurasi.
Host adalah nama yang ingin Anda masukkan ketika Anda menghubungkan server nanti; HostName adalah ip server; Pengguna adalah nama pengguna yang Anda login di server; dan file identitas adalah file tempat Anda menyimpan kunci yang Anda buat.
sumber