Otentikasi pada peralatan jaringan melalui SSH menggunakan kunci publik

Sekumpulan kunci

Secara default, insinyur terhubung ke peralatan jaringan menggunakan nama pengguna dan kata sandi. Menggunakan Telnet, kredensial pengguna ditransmisikan dalam teks yang jelas, dan melalui SSH, dienkripsi. Agar tidak mengirimkan bagian rahasia melalui jaringan, otentikasi kunci publik digunakan. Dengan otentikasi ini, kunci publik pengguna diberikan sebelumnya kepada pengguna pada peralatan. Kunci pribadi tidak dikirim melalui jaringan.

Panduan ini akan membantu Anda dengan cepat mulai menggunakan kunci publik untuk otentikasi ketika menghubungkan ke peralatan jaringan menggunakan protokol SSH. Panduan ini berlaku untuk Windows dan Mac OS X. Saya mencoba membuatnya sesederhana dan se informatif mungkin. Itu tidak kelebihan beban, tetapi menjawab pertanyaan dasar:





Saya juga memeriksa topik "sakit":

  • Konversi kunci antara OpenSSH <==> SecureCRT <==> PuTTY.
  • Menggunakan pasangan kunci publik yang berbeda untuk peralatan yang berbeda. Salah satu kunci itu baik, tetapi pada kenyataannya tidak bisa diterapkan. Pelanggan atau peralatan yang berbeda membutuhkan pasangan kunci publik yang berbeda (beberapa dengan kata sandi, yang lain tanpa).
  • Menggunakan asli (asli) MAC OS X untuk bekerja dengan kunci publik.
  • Panduan ini juga harus membantu menggunakan Ansible dengan peralatan jaringan, karena Ansible menggunakan OpenSSH dengan otentikasi kunci publik secara default.

90% dari materi yang disajikan diuji pada peralatan nyata.


pengantar


Selain otentikasi kata sandi standar (kata sandi / keyboard) dalam protokol SSH, ada juga otentikasi kunci publik (RSA).

Sebagai referensi
RSA (https://ru.wikipedia.org/wiki/RSA) — . (public key) (private key). : . . , , .

Otentikasi menggunakan kunci RSA terdiri dari beberapa langkah:


Kenapa hanya RSA? Kenapa bukan DSA? Sayangnya, saya tidak menemukan jawaban untuk pertanyaan ini (dan tidak benar-benar mencarinya). Tetapi secara resmi, hanya RSA yang didukung pada peralatan Cisco.

Panduan Konfigurasi Secure Shell, Cisco IOS Release 15E:

Panduan Konfigurasi Secure Shell, Cisco IOS Release 15E
Pembatasan untuk Secure Shell Versi 2 Dukungan
Rivest, Shamir, dan Adleman (RSA) generasi kunci adalah persyaratan sisi server SSH. Perangkat yang bertindak sebagai klien SSH tidak perlu membuat kunci RSA.

Mencoba memasukkan data kunci DSA:

CSR-1(conf-ssh-pubkey-data)#exit
%SSH: Only ssh-rsa type is supported
CSR-1(conf-ssh-pubkey-user)#


Membuat kunci RSA publik


Sepasang kunci RSA dapat dibuat menggunakan berbagai utilitas: SecureCRT, PuTTYgen atau perangkat lunak lainnya. Saat membuat kunci, Anda dapat mengatur Passphrase (perlindungan kata sandi dengan kunci).


Pembuatan pasangan RSA dalam SecureCRT


SecureCRT -> Alat -> Buat Kunci Publik ...:


Sedikit teori → tombol "Berikutnya>":


Jenis sertifikat RSA / DSA → Pilih RSA → “Berikutnya>” tombol:


Enkripsi kata sandi untuk kunci rahasia (opsional, Anda dapat membiarkannya kosong dan tidak mengenkripsi) + Komentar → tombol "Next>":


Pilih panjang kunci (dalam SecureCRT versi 6.1.0 panjang kunci maksimum adalah 2048 bit, dalam versi 8.5.4 - 16 384 bit):


Pembuatan kunci → tombol “Berikutnya>”:

Untuk menghasilkan angka acak, Anda perlu menggerakkan mouse di dalam jendela.



Menyimpan pasangan kunci → Memilih lokasi penyimpanan → Memilih format untuk kunci yang disimpan (format VanDuke Private, warisan OpenSSH, OpenSSH baru) → tombol “Selesai”:



SecureCRT bertanya apakah membuat kunci ini sebagai kunci default untuk SecureCRT:



Pembuatan pasangan RSA di PuTTYgen


Anda dapat mengunduh PuTTYgen di sini: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html .

Luncurkan PuTTYgen:


Pilih parameter (tipe pasangan: RSA; dimensi bit kunci: 2048; secara opsional setel Frasa Sandi (perlindungan kata sandi dengan kata sandi)) → Hasilkan:


Untuk menjamin angka acak, ia meminta untuk memindahkan mouse di dalam jendela. Ini adalah perlindungan terhadap angka acak semu.


Simpan kunci RSA → tombol “Simpan kunci pribadi”:


Harap dicatat: Kunci RSA yang disimpan dalam format pribadi dalam satu perangkat lunak tidak dapat digunakan dalam perangkat lunak produsen lain. Yaitu, sepasang kunci RSA yang dibuat dalam PuTTYgen dan disimpan dalam format Putty Private Key tidak cocok untuk digunakan dalam SecureCRT, dan sebaliknya. Putty hanya mendukung format Putty Private Key. Solusi universal untuk mendistribusikan kunci adalah mengonversi kunci ke format OpenSSH (Lihat tautan 2: "Konversi dari Putty ke SecureCRT dengan kunci auth."). Karena SecureCRT bekerja secara bebas dengan format OpenSSH. Dan perangkat lunak PuTTYgen mengubah format OpenSSH menjadi format Putty Private Key.


Mengubah kunci RSA dari format Putty Private Key (PuTTY) ke format OpenSSH (SecureCRT)


Untuk menggunakan kunci RSA dalam SecureCRT yang dihasilkan dalam PuTTYgen dan disimpan dalam format Putty Private Key (* .ppk), kami mengekspornya menggunakan PuTTYgen dalam format OpenSSH:

  1. Luncurkan PuTTYgen.
  2. Kami memuat kunci RSA yang ada dalam format Putty Private Key (* .ppk) → Tombol “Load”.
  3. Simpan file kunci publik → “Simpan kunci publik”.
  4. Kami mengekspor kunci rahasia ke format OpenSSH: menu PuTTYgen → "Konversi" → "Ekspor kunci OpenSSH".
  5. Kami menggunakan file OpenSSH di SecureCRT. File dengan kunci publik memiliki ekstensi .pub, file dengan kunci pribadi tidak memiliki ekstensi.


Mengubah kunci RSA dari format VanDyke Private Key (SecureCRT) ke format Putty Private Key (PuTTY)


Untuk menggunakan kunci RSA dalam Putty yang dihasilkan dalam SecureCRT dan disimpan dalam format Kunci Pribadi VanDyke (file kunci publik * .pub, file kunci rahasia *. (Tanpa ekstensi)), ekspor mereka menggunakan SecureCRT dalam format OpenSSH, kemudian menggunakan PuTTYgen, kami mengekspor ke format Putty Private Key (* .ppk):

  1. Luncurkan SecureCRT.
  2. Menu "Alat" → "Konversi Kunci Pribadi ke format OpenSSH ..."
  3. Pilih file sumber dengan kunci Privat VanDyke.
  4. Kami menyimpan kunci OpenSSH dengan nama baru.
  5. Luncurkan PuTTYgen.
  6. Kami memuat kunci RSA yang ada dalam format OpenSSH (*.): PuTTYgen Menu → “Conversions” → “Import key”.
  7. Simpan file dalam format Putty: "Simpan kunci pribadi".


Menghasilkan kunci publik pada MAC OS X menggunakan sistem operasi


Kami akan menggunakan utilitas ssh-keygen bawaan (man ssh-keygen).
Kami menghasilkan kunci RSA dengan panjang 2048 bit dengan nama kunci, jalur ke folder dengan lokasi penyimpanan utama:

ssh-keygen -b 2048 -t rsa -c "Lab router R4" -f /Users/ArtemiySP/Documents/python/r4

Pada waktu berjalan, program akan meminta kata sandi untuk melindungi kunci RSA:

artemiy-2:Downloads ArtemiySP$ ssh-keygen -b 2048 -t rsa -C "Lab router R4" -f /Users/ArtemiySP/Documents/python/r4
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/ArtemiySP/Documents/python/r4.
Your public key has been saved in /Users/ArtemiySP/Documents/python/r4.pub.
The key fingerprint is:
SHA256:WdT47SFvgGI7danxX94p8/cO3uyU12SB3ipkc7nHxzA Lab router R4
The key's randomart image is:
+---[RSA 2048]----+
|          .o     |
|         .. . .  |
|          .o + . |
|        oo+ B = .|
|       .S+ O OEoo|
|        o + + B*+|
|         . . =.*O|
|            .+o**|
|              =+O|
+----[SHA256]-----+
artemiy-2:Downloads ArtemiySP$

Kami menghasilkan kunci RSA dengan panjang 4096 bit dalam menunjukkan nama kunci, path ke folder dengan lokasi penyimpanan kunci, mengatur kata sandi secara eksplisit dalam parameter pembuatan kunci (-N "cisco"):

artemiy-2:Downloads ArtemiySP$ ssh-keygen -b 4096 -t rsa -C "Lab router R5" -N "cisco" -f /Users/ArtemiySP/Documents/python/r5
Generating public/private rsa key pair.
Your identification has been saved in /Users/ArtemiySP/Documents/python/r5.
Your public key has been saved in /Users/ArtemiySP/Documents/python/r5.pub.
The key fingerprint is:
SHA256:NraLRMqB4qmA8qNjKdpBBt1JBw8Osf/3GfuB2k1R+zY Lab router R5
The key's randomart image is:
+---[RSA 4096]----+
|  o.+..          |
| . * =           |
|. o + .       .  |
| . o         . . |
|. + o . S   . .  |
|o+.. = o o . . . |
|+oo o o o o o  Eo|
|*=.. . o = * . ..|
|Boo.  . o =.o    |
+----[SHA256]-----+
artemiy-2:Downloads ArtemiySP$

Parameter pembuatan kunci yang tidak direkomendasikan: kunci tidak dapat diandalkan dengan panjang 1024 bit, yang menunjukkan nama kunci, jalur ke folder dengan lokasi penyimpanan kunci, kami menetapkan kata sandi secara eksplisit dalam parameter pembuatan kunci (-N "" - tanpa kata sandi):

artemiy-2:Downloads ArtemiySP$ ssh-keygen -b 1024 -t rsa -C "Lab router R6" -N "" -f /Users/ArtemiySP/Documents/python/r6
Generating public/private rsa key pair.
Your identification has been saved in /Users/ArtemiySP/Documents/python/r6.
Your public key has been saved in /Users/ArtemiySP/Documents/python/r6.pub.
The key fingerprint is:
SHA256:LEcfgN+58TYMDv4MpBA2FGCWc2aFiY+SxWBf7pRViWs Lab router R6
The key's randomart image is:
+---[RSA 1024]----+
|.++=o*.o+..      |
|.oB % +. o       |
| o X * .o...     |
|o . =  E+.=.     |
| .   oo+So.*     |
|      .oo o =    |
|         + . .   |
|          o      |
|                 |
+----[SHA256]-----+
artemiy-2:Downloads ArtemiySP$

Jadi, kami membuat tiga kunci dengan nama kunci dan lokasi kunci (secara default, semua kunci disimpan di / Users / [Username 022 / .ssh).

Secara default, saat menghubungkan melalui SSH dengan otentikasi dengan kunci publik, semua kunci publik disimpan secara berurutan, yang disimpan dalam folder / Pengguna /[Username†/.ssh.

Kunci R6: ganti nama kunci menjadi "id_rsa" (secara default nama file kunci yang dihasilkan adalah "id_rsa") dan transfer ke folder dengan kunci SSH (~ / .ssh /) (mis., Kami akan melakukan semua langkah sehingga kunci R6 digunakan sebagai kunci utama kunci koneksi SSH standar):

Konversi kunci OpenSSH publik ke format RFC4716 (ekspor ke Cisco IOS):

https://serverfault.com/questions/706336/how-to-get-a-pem-file-from-ssh-key-pair
ssh-keygen -f ~/Documents/python/r4.pub -e -m RFC4716
ssh-keygen -f ~/Documents/python/r5.pub -e -m RFC4716
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m RFC4716


Menggunakan kunci publik pada peralatan


Bagaimana dengan berbagai peralatan untuk mengikat kunci publik ke pengguna?

Proses mengikat kunci publik ke pengguna tidak standar dan bervariasi dari satu peralatan ke peralatan lainnya, oleh karena itu, contoh diberikan untuk setiap jenis peralatan yang paling sering digunakan pada jaringan.


Cisco IOS XE, Catalyst (dari versi 15.1 dan lebih tinggi), iOS


  1. Sudah ada pengguna di perangkat.
  2. Dalam pengaturan SSH (ip ssh pubkey-chain) untuk pengguna (username cisco), tentukan kunci publik (key-string):
    CSR-1#conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    CSR-1(config)#ip ssh pubkey-chain 
    CSR-1(conf-ssh-pubkey)#username ssh-putty
    CSR-1(conf-ssh-pubkey-user)#key-string 
    CSR-1(conf-ssh-pubkey-data)#$QAAAQEAnPbynT1+2rjlyqP4viSPdTVDFLSHzWjJnAwy     
    CSR-1(conf-ssh-pubkey-data)#$NCfaqvMTPruCgG5096q8lO0ntURmNgmfMEQPOgb8weF     
    CSR-1(conf-ssh-pubkey-data)#$AtMQYk7WFM+5iBnOQ32UAHNavCUA7YFEpAdOQO4W/qB     
    CSR-1(conf-ssh-pubkey-data)#$SlOLy+PQ47jDUINBnuUeHd8ZXyzXxWglzSvqtwMEXBW     
    CSR-1(conf-ssh-pubkey-data)#$VoUTBYbJ45DmFa93P50qf494ujaAsTbYyJ/GBzJUTK/     
    CSR-1(conf-ssh-pubkey-data)#$UADAkNGxQARfOfHZWiIYb3rif6h6hfwwVUZS/Tw==       
    CSR-1(conf-ssh-pubkey-data)#exit
    CSR-1(conf-ssh-pubkey-user)#exit
    CSR-1(conf-ssh-pubkey)#exit
    CSR-1(config)#exit
    CSR-1#exit
    
    CSR-1#show running-config | inc ssh
    username ssh-public-key secret 5 $1$ebjc$EYgwMFQXPPiywFVn6rl7t.
    username ssh-putty privilege 15 secret 5 $1$vIhh$nM8iCeBKmLyVK4hA6./h4.
    ip ssh pubkey-chain
       key-hash ssh-rsa D4E9AD62F7F6265EAAB3FB8778477612
      username ssh-public-key
       key-hash ssh-rsa C331DEE821A84681A4A7B1862C100D16
      username ssh-putty
       key-hash ssh-rsa F32BEB60290EA75D151447C0D42D2A99
       key-hash ssh-rsa 5432C275B363B646E02D3BA7E8D865B7
    CSR-1#
    


Cisco ASA


LAB-ASA5516-X-01/pri/act# conf t
LAB-ASA5516-X-01/pri/act(config)# username artemiy password artemiy privilege $
LAB-ASA5516-X-01/pri/act(config)# username artemiy attributes 
LAB-ASA5516-X-01/pri/act(config-username)# ssh authentication publickey ?

username mode commands/options:
  WORD  Raw SSH-RSA public key
LAB-ASA5516-X-01/pri/act(config-username)# ssh authentication publickey AAAAB3$

Kami memasukkan seluruh kunci dalam satu baris (format OpenSSH).


Router dan switch Huawei


[R1]rsa peer-public-key test-key1 encoding-type pem 
Enter "RSA public key" view, return system view with "peer-public-key end".
NOTE: The number of the bits of public key must be between 769 and 2048.
[R1-rsa-public-key]public-key-code begin 
Enter "RSA key code" view, return last view with "public-key-code end".
[R1-rsa-key-code]---- BEGIN SSH2 PUBLIC KEY ----
[R1-rsa-key-code]Subject: Subject
[R1-rsa-key-code]Comment: " Subject@Subject.local"
[R1-rsa-key-code]ModBitSize: 2048
[R1-rsa-key-code]AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnx
[R1-rsa-key-code]lTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof
[R1-rsa-key-code]63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK
[R1-rsa-key-code]2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZa
[R1-rsa-key-code]yI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTP
[R1-rsa-key-code]VdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
[R1-rsa-key-code]---- END SSH2 PUBLIC KEY ----
[R1-rsa-key-code]public-key-code end
[R1-rsa-public-key]peer-public-key end 
[R1]display rsa peer-public-key 

=====================================
    Key name: test-key1
=====================================
Key Code:
---- BEGIN SSH2 PUBLIC KEY ----
AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnx
lTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof
63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK
2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZa
yI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTP
VdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
---- END SSH2 PUBLIC KEY ----
aaa
local-user jet privilege level 15
 local-user jet service-type telnet terminal ssh http
ssh user jet assign rsa-key test-key1

Jenis format kunci yang diimpor ke Huawei:

"SecureCRT dan Putty menghasilkan kunci RSA dalam format PEM."

rsa peer-public-key test-key1 encoding-type pem

"OpenSSH menghasilkan kunci RSA dalam format OpenSSH."

rsa peer-public-key test-key1 encoding-type openssh

"OpenSSL menghasilkan kunci RSA dalam format DER."

rsa peer-public-key test-key1 encoding-type der

Standarnya adalah heksadesimal:

rsa peer-public-key test-key1

Catatan: Peralatan Huawei tidak hanya mendukung kunci dalam format RSA, tetapi juga format lain:

ssh user user-name assign { rsa-key | dsa-key | ecc-key } key-name

Anda dapat secara ketat mengatur tipe otentikasi untuk pengguna melalui SSH:

[R1]ssh user jet authentication-type ?
  all           All authentication, password,RSA or ECC
  ecc           ECC authentication
  password      Password authentication
  password-ecc  Both password and ECC
  password-rsa  Both password and RSA
  rsa           RSA authentication
[R1]

Artinya, kami mengizinkan akses menggunakan kata sandi, atau kunci publik dan pribadi, atau keduanya.


Huawei USG (6000)


Konfigurasi ini sangat mirip dengan pengaturan pada router, tetapi memiliki beberapa fitur.

Secara default, level privilege setelah login menggunakan sertifikat adalah 0 dan tidak dapat ditingkatkan. Oleh karena itu, tingkat prioritas diatur menggunakan

user-interface vty 0 4 
user privilege level 15
user-interface vty 16 20:
user privilege level 15

Contoh:

[USG-a]rsa peer-public-key test-key1 encoding-type pem 
Enter "RSA public key" view, return system view with "peer-public-key end".
[USG-a-rsa-public-key]public-key-code begin
Enter "RSA key code" view, return last view with "public-key-code end".
[USG-a-rsa-key-code]---- BEGIN SSH2 PUBLIC KEY ----
[USG-a-rsa-key-code]Subject: subject
[USG-a-rsa-key-code]Comment: " subject@subject.local"
[USG-a-rsa-key-code]ModBitSize: 2048
[USG-a-rsa-key-code]AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnx
[USG-a-rsa-key-code]lTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof
[USG-a-rsa-key-code]63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK
[USG-a-rsa-key-code]2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZa
[USG-a-rsa-key-code]yI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTP
[USG-a-rsa-key-code]VdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
[USG-a-rsa-key-code]---- END SSH2 PUBLIC KEY ----
[USG-a-rsa-key-code]public-key-code end
[USG-a-rsa-public-key]peer-public-key end
[USG-a]
[USG-a]ssh user admin assign rsa-key test-key1
! Out-of-band management interface:
[USG-a-GigabitEthernet0/0/0]service-manage ssh permit
! Grant user level 15 privillege:
[USG-a]user-interface vty 0 4
[USG-a-ui-vty0-4]user privilege level 15


Cisco Nexus 9.3


Opsi 1: pra-instal file kunci publik pada perangkat dan lampirkan file kunci publik kepada pengguna.

  • Salin file kunci publik ke perangkat.
  • Kami menginstruksikan pengguna untuk menggunakan file kunci publik.

switch# copy tftp://10.10.1.1/secsh_file.pub bootflash:secsh_file.pub
username User1 sshkey file bootflash:secsh_file.pub

Opsi 2: salin kunci publik ke pengguna:

username User1 sshkey
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnxlTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZayI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTPVdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7


Menggunakan kunci rahasia untuk koneksi SSH


Bagian ini dikhususkan untuk mengonfigurasi klien SSH untuk otentikasi menggunakan kunci RSA pada peralatan jaringan (atau peralatan lainnya, asalkan perangkat keras dan lunaknya mendukung otentikasi kunci publik).

Kami akan mempertimbangkan pengaturan penggunaan kunci publik di program yang paling populer: SecureCRT dan Putty.


SecureCRT


Ada daftar Otentikasi di jendela pengaturan SSH. Di dalamnya, Anda perlu meningkatkan prioritas PublicKey ke level tertinggi - jadikan teratas dalam daftar.



Lalu pergi ke opsi PublicKey dan pilih file kunci pribadi. Sakelar paling atas memungkinkan Anda untuk menggunakan pengaturan global dari kunci rahasia atau pengaturan sesi - kunci rahasia lain (kunci non-default) - hanya untuk koneksi ini.



Konfigurasikan kunci publik global: di menu Opsi → Opsi global → Kategori SSH2.



Dempul


Dalam pengaturan SSH (Sambungan → SSH → Auth) di bidang “File kunci pribadi untuk otentikasi” tentukan file Putty Private Key (* .ppk):



MAC OS X


Menyiapkan klien standar untuk menggunakan kunci publik:

  • Koneksi dengan kunci non-standar yang ditentukan secara manual:

    artemiy-2:~ ArtemiySP$ ssh r4@10.31.73.29 -i ~/Documents/python/r4
    The authenticity of host '10.31.73.29 (10.31.73.29)' can't be established.
    RSA key fingerprint is SHA256:fxOLFKU6YGyIqisrIh2P0O52Rr6Wx/wsSAcHsTz8fo0.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '10.31.73.29' (RSA) to the list of known hosts.
    CSR-4#
    
  • Koneksi dengan kunci non-standar yang ditentukan secara manual:

    artemiy-2:~ ArtemiySP$ ssh r5@10.31.73.30 -i ~/Documents/python/r5
    The authenticity of host '10.31.73.30 (10.31.73.30)' can't be established.
    RSA key fingerprint is SHA256:4l67C4Il4pTaqYT4vrtWr0aY7rPmNWKsjRv2zlYtQIU.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '10.31.73.30' (RSA) to the list of known hosts.
    MGTU#exit
    Connection to 10.31.73.30 closed.
    

    Contoh Kesalahan
    — . MAC OS X — .
  • Koneksi dengan kunci default (kunci default - sistem itu sendiri akan menemukan dan menggunakan kunci publik Default):

    artemiy-2:~ ArtemiySP$ ssh r6@10.31.73.31
    The authenticity of host '10.31.73.31 (10.31.73.31)' can't be established.
    RSA key fingerprint is SHA256:2/ysACJQw48Q8S45ody4wna+6nJspcsEU558HiUN43Q.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '10.31.73.31' (RSA) to the list of known hosts.
    PR#exit
    Connection to 10.31.73.31 closed.
    artemiy-2:~ ArtemiySP$ 
    


Cara menyederhanakan bekerja dengan SSH pada MAC OS X:


  • Buat SSH Alias.
  • Di SSH Alias, kami segera mengatur pengguna.
  • Segera daftarkan lokasi kunci.

Lokasi Alias ​​dan konfigurasi SSH yang sudah dikonfigurasikan ditentukan dalam file ~ / .ssh / config (/Users/[Username†/.ssh/config).

Diisi dengan cara ini:

host r4
   Hostname 10.31.73.29
   Port 22
   User r4
   IdentityFile ~/Documents/python/r4

host r5
   Hostname 10.31.73.30
   Port 22
   User r5
   IdentityFile ~/Documents/python/r5

host r6
   Hostname 10.31.73.31
   Port 22
   User r6

Catatan: koneksi default saya tidak dikonfigurasi dengan benar (saya tidak tahu caranya dengan benar), karena koneksi ke host R6 (10.31.73.31) membutuhkan waktu yang sangat lama. Anda disarankan untuk segera menentukan jalur ke kunci default.

Contoh koneksi ssh menggunakan kunci publik dan file konfigurasi:

artemiy-2:Documents ArtemiySP$ ssh r5
MGTU#exit
Connection to 10.31.73.30 closed by remote host.
Connection to 10.31.73.30 closed.
artemiy-2:Documents ArtemiySP$ ssh r4
CSR-4#exit
Connection to 10.31.73.29 closed by remote host.
Connection to 10.31.73.29 closed.
artemiy-2:Documents ArtemiySP$ ssh r6
PR#exit
Connection to 10.31.73.31 closed.
artemiy-2:Documents ArtemiySP$ ssh r6
PR#


Kesimpulan


Kunci RSA dapat digunakan untuk mengganti otentikasi kata sandi, tetapi tidak dalam semua kasus:

  • Otentikasi kunci publik tidak dimungkinkan jika otentikasi domain dikonfigurasi (karena permintaan LDAP (kerberos) ke server diproksikan untuk otentikasi).
  • Otentikasi kunci publik pada peralatan jaringan lama tidak dimungkinkan (contoh: gagal mengkonfigurasi pada Cisco Catalyst 2960 dengan firmware 12.2).

Kunci publik yang dilindungi kata sandi mudah digunakan dalam peralatan bangku. Kerugian: perlu mengirim sekelompok kunci pribadi dan publik ke kolega dan mitra.

Pada beberapa peralatan, beberapa pasang kunci publik dapat berhubungan dengan satu pengguna, pada peralatan lain hanya satu kunci publik yang sesuai dengan satu pengguna.

Ada juga berbagai format di mana sepasang kunci publik dan pribadi disimpan. Tetapi panduan ini akan membantu Anda mengekspor kunci dalam berbagai format.

Saat ini, optimal untuk menggunakan kunci dengan panjang 2048 bit, tetapi untuk beberapa peralatan ini adalah panjang kunci maksimum yang mungkin (mungkin ini akan diperbaiki dalam firmware baru). Contohnya:

[R1]rsa peer-public-key test-key2 encoding-type pem
Enter "RSA public key" view, return system view with "peer-public-key end".
NOTE: The number of the bits of public key must be between 769 and 2048.
[R1-rsa-public-key]

Disarankan untuk menggunakan kunci publik untuk mengganti kata sandi jika kata sandi dimasukkan menggunakan skrip (contoh: autologon di SecureCRT).

Anda disarankan menggunakan kunci publik untuk melindungi terhadap transmisi kata sandi melalui jaringan.

Beberapa perangkat lunak menggunakan kunci publik secara default untuk otentikasi SSH alih-alih kata sandi (contoh: Ansible).


Daftar sumber:


  1. RSA Wikipedia
  2. Konversi dari Putty ke SecureCRT dengan auth. kunci, Forum SecureCRT
  3. Panduan Konfigurasi Secure Shell, Cisco IOS Release 15E
  4. Unduh PuTTYgen
  5. Dokumentasi resmi Huawei - deskripsi berbagai format kunci untuk mengimpor ke router Huawei
  6. Huawei USG 6000, Mengkonfigurasi Otentikasi Kunci Publik (CLI: Contoh untuk Masuk ke CLI Menggunakan STelnet (Otentikasi RSA))
  7. Nexus 9000 Configuration guide SSH public key
  8. man ssh-keygen — mac os x.
  9. SSH config file MAC OS X
  10. SSH
  11. SSH config
  12. openssh public key RFC4716

All Articles