Due to the way entropy (source of randomization) was obtained in JUNOS, there exists the remote possibility that multiple identically configured routers, purchased at the same time and configured to generate their initial SSH private key at the same time, may end up with the same private keys. The sources of entropy in the affected releases was limited, and therefore the pseudo-random number generator (PRNG) used as input to the SSH key generation may result in the same values across multiple systems. This issue was mostly prevalent in systems without ATA disk controllers or Compact Flash memory. This issue is being tracked as PR 469038. While this PR is not viewable by customers, it can be used as a reference when discussing the issue with JTAC.
All JUNOS software releases built on or after February 1, 2010, have been enhanced to derive entropy from additional sources such as network activity. Releases containing the enhancement specifically include: 8.5S6, 9.0S3, 9.1S8, 9.3S8, 9.6S4, 10.0S3, 10.1R1, and all subsequent releases.
user@junos1> start shell % foreach file ( /etc/ssh/*.pub ) foreach? ssh-keygen -l -f "$file" foreach? end 1024 6d:c0:26:ad:3d:68:17:c5:92:61:e0:66:5b:2c:56:57 /etc/ssh/ssh_host_dsa_key.pub 1024 65:09:0e:d6:1d:b4:a5:11:0f:e7:b2:d3:0b:eb:4d:d0 /etc/ssh/ssh_host_key.pub 2048 13:15:6c:ed:8f:2f:57:2c:2a:d4:5f:f6:54:f9:ce:98 /etc/ssh/ssh_host_rsa_key.pub
user@junos2> start shell % foreach file ( /etc/ssh/*.pub ) foreach? ssh-keygen -l -f "$file" foreach? end 1024 46:88:29:08:36:dc:a0:21:fd:7c:dd:f5:eb:bd:25:3e /etc/ssh/ssh_host_dsa_key.pub 1024 4d:92:07:49:e6:5b:e7:2e:b6:90:92:8f:77:c5:96:2b /etc/ssh/ssh_host_key.pub 2048 23:39:88:dc:33:fd:ef:8b:e9:3d:06:5e:5d:a4:55:8b /etc/ssh/ssh_host_rsa_key.pub
user@junos> configure Entering configuration mode [edit] user@junos# delete system services ssh [edit] user@junos# commit and-quit commit complete Exiting configuration mode user@junos> start shell % su Password: root@junos% rm /etc/ssh/ssh_host* root@junos% exit % exit user@junos> configure Entering configuration mode [edit] user@junos# set system services ssh [edit] user@junos# commit and-quit commit complete Exiting configuration mode user@junos>