Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Modified


!!!! Read before starting:     if ansible run as root >>>>> use root's   id_rsa   file !!!!

!!!! But if it's for Juniper, use the user account to log into the router !!!!

juniper.junos module does not send a file to the router, but use netconfig


1- create the Private key & Public key ( .pub) on the Client:

...

       ssh-keygen
2- copy the public key to the server:               ssh-copy-

...

id   or just a sftp
3- To set up SSH agent to avoid retyping passwords, you can do:
4- SSH test ( will ask for the passphrase once!)
5- check the Local keys:
6- check the Remote keys:


1- create the private & Public key on the Client:  

...


Code Block
titlessh-keygen
collapsetrue
passphrase = ansible123 Juniper1  ( same as: root/Juniper1, because is easier to remember) 

/project # ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (

!!!!!  default will use: root 
!!!!!  and will put it in /root/.ssh/ 


/project # ssh-keygen -t rsa  -f /root/.ssh/id_rsa): Enter-P passphraseJuniper1 (empty-C forroot
no passphrase):
Enter same passphrase again:Generating public/private rsa key pair.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:gm6e/5Cv5nMVEnnoeh5aFOvahjBdCoD4zZy4cJTuLwA5O9zJGCqTGXyjvintT4ZjzFD7P0pYz6bwWMRPFYtYeY root@fd9589e5bc79root
The key's randomart image is:
+---[RSA 2048]----+
|..   .     o  =o     |
|o +     = . =. .    |
| +  * . . = * E.     |
|E   = *. =+oo * .     |
|
|.+ ..o.*S. .     B +S.       |
|    . O..o.o +o= .      |
| . .oooO o  + +.O=..+     |
|  .o. +.*o*=+  .      |
|   .o+o+*o   +=.o     |
+----[SHA256]-----+


Code Block
titleid_rsa.pub on the vMX
collapsetrue
Key 
/project #
on the vMX  ( once copied )

root@vMX1% ls /var/home/ansible/:
.ssh            id_rsa.pub

root@vMX1% more /var/home/ansible/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/DLTV+Qzxxxxxxxxxxxxxx6egBTuBB+60d ansible

>>> notice the "root" at the end of the public key  <<<<<<<



Code Block
titleshow keys
collapsetrue
/project # ls /root/.ssh/
id_rsa       id_rsa.pub   known_hosts
/project #
/project # more /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAxxxxxxxxxxcccccccccccccccccccccccQOka7obnxEqD0ot799TtwsbraxVdiUeaFOymbqCjVeUjVdD8p0+JNlCVJIFRn7dO5nx/PuONUw9n5aW6smNq5TWFF5UfjfIUM7ShCVwOo3wXWPhxJhrl85b9A2WMBTa/hZTeukIbNCI82xq7zuCReTUtA+Oz9P1jVu/WgrijHOf/zkzCSwvHt9MEgdaYy3F6HuoOksTXDGM8nPCw93m9cnSkrdndCL7cJQjOBtz4KluCaALyMs4LwUlBVKy70stjMvxIuVSKnkOqlLD root@fd9589e5bc79
/project #


AAAAB3NzaC1yc2EAAAADAQABAAABxxxxxxxxxxxxxxxxxxxxxxxxxxAbguhcbH root


/project # more /root/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,2C9AC05EC004F4E7CFA7DBFA199FC4ECF14E90E60C8CB07240DBA331EB53B03B

qCQ1Rvb1DlmuEoRk964akjn3g0hDN5MCtDLqMwaFfsPbGOQkPCxlvioqaRXX42CD
eH3XQPWziRwPHAfM8+ZEplvumegXLEON9o5H1jC6KHRu7RhcuUsLo+4XBqYSrCru
fLT5ZI3I8zmppb1ycexxxxxxxxxxx+3e/htUwO0N954Mn7UmaWWKxpgcGVZzmyTQ
68ZfkSz3uEQoHtzApR31tn+ZnKbJM2//aA0UsR+Q+cWuXd5QLl/U+vpilhV+PZx8
j/j51pP9c5jDjn/H4LOxWuL5isAPHPYFoZIsj//guoyXM94Z/zztW800492R7DQ1
T9ijXgQhQNwYjiL8/avg4fbE+C4EfRBvgfi2uv+gVeQte9XN+1OyMoDyJ9VdymQF
Dqn/xLRxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoWrrVSoba6ubr293B1FNDnL
XdCbRvzlMMHBWXYeDUmGevec8vve/jcBmOax+EOfDa4TU+r/0lEQxfVeYetIrv6I
Iv8LWs5Kp2UP4Nu3z9x/Op945JqqYWKU5LIaLuRMwOoc4BXjxhf8gnAvEtI0+LZO
aoI72+44KjUVAUxnGwUCLVsMg5f+8ym7L8IMkfBYfP0EL5u1yNhsnPczkje5QNm+
isp8vUkUNfDf/3AOLy/HsVNgmGO944HBbQoxnWl5tTX6PIELzWMm05jPBU/+rWSlx+ubL+RDa9jOrRfbut42a3slT+Y8Ooyl5g3UrrLNS8IMFyPip9FFBnGowz2B97G7
eVIsfWnOWsIzxYaqQhs1kZUsQGQoarxm20KeLleF7YA2tfFaa0cc/GKZWpy8aVnF
artWpjSwtrx8PaRCSykWadcgES2k4RPok4QKzq1PaaCA2DkWGTb4fZUYaZXm5Itt
Rx8BerEogQNh2WOAJPSlj96yFYOhQa+cRU1efZEB9Hc2DxgHH/FDT/gTGqrz4lfu
23yNWNtAihM+0SFmSaerm4pqjwIqHjfG8dXVBIxa+L6QNOt4dnRqCieNVlYxlUL6
uRRDgpukRz/tVTGJbQc0NtJVSoBBm1MjhnSG8S4G07nFUtd/RxxUXDXDYPZHyT2G
/fATG17zeXx0NGA3XFyfbyCUc1+cVm5ToKCsvmMumJ8Q6bsDKUfdwJmBT4jgtB9v
wFvn3kcqp7z47Gf9UgqTs1YtHPP479cSmEjiw2GFKCzGUvfNEpONzvyE0r+d9psW
-----END RSA PRIVATE KEY-----
/project #



RSA:

 -Asymmetric Encryption: Private and Public key
 -#Diffie-Hellman
 -2,048 bits (or 617 decimal digits )
 -Rivest-Shamir-Adleman

...

 -Symmetric Encryption Algorithms
 -Block cipher ( 128-bit block message + 128-bit key) >> 128-bit cipher text
 - Advanced Encryptiuon Standard

On the server  create a pair of key, directory /root/.ssh/




2- copy the public key to the server:

ssh-copy-id  ansible@192.168.99.11 

or just copy the file using: sftp/sshusing  ( if ssh-copy-id not supported ):

scp id_rsa.pub  ansible@192.168.99.111:/var/home/ansible/

sftp ansible@192.168.99.11 ( then put /project/id_rsa.pub /var/home/ansible/id_rsa.pub ) 

( or with sftp tool like mobaxterm ) 



Code Block
titlesftp ansible@192.168.99.11
collapsetrue
scp  id_rsa.pub ansible@192.168.99.111:/var/home/
Password:
id_rsa.pub                                                        100%  520    77.8KB/s   00:00

or

/project # sftp ansible@192.168.99.11
ansible@192.168.99.11's password:
Connected to 192.168.99.11.
sftp> put /var/home/.ssh/id_rsa.pub  /var/home/.ssh/id_rsa.pub
Uploading /var/home/.ssh/id_rsa.pub to /var/home/.ssh/id_rsa.pub
/var/home/.ssh/id_rsa.pub                                                       100%  386   502.9KB/s   0.4KB/s   00:00

sftp> ls .ssh/
id_rsa.pub

sftp> pwd
Remote working directory: /var/home/

sftp> exit
/project #


Code Block
titleafter reboot
After a reboot of the server the key may change, will need to be reload on the vMX!


Image Modified


Check:  after the ssh-copy-id, on the remote server: before/after   ( /root/.ddh  or /home/<username>/.ssh/ )


Image Modified







3- To set up SSH agent to avoid retyping passwords, you can do:

...

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyKQ+IXr/yiLt7N/SSh4++V8G3K0ZoU1Pi/M85D/5Gtuh6kq6DAqk/F/lUxc0QFZNVGB9r1fCyVtwuGVhxaImXbziB0gRbBG2uclwwH0bbQUDNm+MJ5QtXjRGCmelNa5DpzfdVI8MzkJN+TI+9PJm1CuuyfBIId554IiFOKsCmt8ORCkU4X+zdXkwZeMv+7jW9sqgYHbEU7m3DU1goJYko8mKMZabpkDUu1sxktGXgMEb3uanID5ViV4VSSxv8c9yVe896cXTmZBra0Dq2NU6WWRWe/fvcukeIO5knNiGTBCpbgpNZM3u11rYbzni/Nun7oKDqBg6+aO4EI0tDn4ZP /root/.ssh/id_rsa


Code Block
titlessh-agent and ssh-add
collapsetrue
/project # ssh-agent ash

passphrase is Juniper1 ( just because it's easier )

/project # ssh-add /root/.ssh/id_rsa
Enter passphrase for /root/.ssh/id_rsa:
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)


/project # ssh-add -l
2048 SHA256:5O9zJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxY /root/.ssh/id_rsa (RSA)


/project # ssh-add -L
ssh-rsa AAAAB3NzaC1yc2EAAxxxxxxxxxxxVLOqaPmqAbguhcbH /root/.ssh/id_rsa


/project # ssh root@192.168.99.11
--- JUNOS 12.1R1.9 built 2012-03-24 12:52:33 UTC
root@vMX1%




Code Block
titlepublic key on vMX
collapsetrue
root@vMX1% ls /root/.ssh/
authorized_keys id_rsa.pub      known_hosts


set system root-authentication load-key-file /root/.ssh/id_rsa.pub




4- SSH test ( will ask for the passphrase once!)

...