You are browsing a read-only backup copy of Wikitech. The live site can be found at wikitech.wikimedia.org
Help:SSH Fingerprints
New fingerprint pages should be fully-protected. Here is a list of all sub-pages:
- SSH Fingerprints/apt1001.wikimedia.org
- SSH Fingerprints/apt2001.wikimedia.org
- SSH Fingerprints/bast1001.wikimedia.org
- SSH Fingerprints/bast1002.wikimedia.org
- SSH Fingerprints/bast1003.wikimedia.org
- SSH Fingerprints/bast2001.wikimedia.org
- SSH Fingerprints/bast2002.wikimedia.org
- SSH Fingerprints/bast2003.wikimedia.org
- SSH Fingerprints/bast3001.wikimedia.org
- SSH Fingerprints/bast3002.wikimedia.org
- SSH Fingerprints/bast3004.wikimedia.org
- SSH Fingerprints/bast3005.wikimedia.org
- SSH Fingerprints/bast3006.wikimedia.org
- SSH Fingerprints/bast4001.wikimedia.org
- SSH Fingerprints/bast4002.wikimedia.org
- SSH Fingerprints/bast4003.wikimedia.org
- SSH Fingerprints/bast4004.wikimedia.org
- SSH Fingerprints/bast5001.wikimedia.org
- SSH Fingerprints/bast5002.wikimedia.org
- SSH Fingerprints/bast5003.wikimedia.org
- SSH Fingerprints/bast6002.wikimedia.org
- SSH Fingerprints/bastion.bastioninfra-codfw1dev.codfw1dev.wmcloud.org
- SSH Fingerprints/cumin1001.eqiad.wmnet
- SSH Fingerprints/deploy1001.eqiad.wmnet
- SSH Fingerprints/deploy1002.eqiad.wmnet
- SSH Fingerprints/deploy2002.codfw.wmnet
- SSH Fingerprints/deployment-tin.deployment-prep.eqiad.wmflabs
- SSH Fingerprints/dev.toolforge.org
- SSH Fingerprints/gerrit.wikimedia.org:29418
- SSH Fingerprints/gerrit1001.wikimedia.org
- SSH Fingerprints/gerrit1002.wikimedia.org
- SSH Fingerprints/git-ssh.wikimedia.org
- SSH Fingerprints/gitlab.wikimedia.org
- SSH Fingerprints/gitlab1001.wikimedia.org
- SSH Fingerprints/gitlab1003.wikimedia.org
- SSH Fingerprints/gitlab1004.wikimedia.org
- SSH Fingerprints/gitlab2001.wikimedia.org
- SSH Fingerprints/gitlab2002.wikimedia.org
- SSH Fingerprints/gitlab2003.wikimedia.org
- SSH Fingerprints/hooft.esams.wikimedia.org
- SSH Fingerprints/icinga1001.wikimedia.org
- SSH Fingerprints/icinga2001.wikimedia.org
- SSH Fingerprints/install1003.eqiad.wmnet
- SSH Fingerprints/install2003.codfw.wmnet
- SSH Fingerprints/login-trusty.tools.wmflabs.org
- SSH Fingerprints/login.toolforge.org
- SSH Fingerprints/mira.codfw.wmnet
- SSH Fingerprints/miscweb1002.eqiad.wmnet
- SSH Fingerprints/miscweb2002.codfw.wmnet
- SSH Fingerprints/mwdebug1001.eqiad.wmnet
- SSH Fingerprints/mwdebug1002.eqiad.wmnet
- SSH Fingerprints/mwdebug1003.eqiad.wmnet
- SSH Fingerprints/mwdebug2001.codfw.wmnet
- SSH Fingerprints/mwdebug2002.codfw.wmnet
- SSH Fingerprints/mwmaint1001.eqiad.wmnet
- SSH Fingerprints/mwmaint1002.eqiad.wmnet
- SSH Fingerprints/mwmaint2001.codfw.wmnet
- SSH Fingerprints/mwmaint2002.codfw.wmnet
- SSH Fingerprints/naos.codfw.wmnet
- SSH Fingerprints/notebook1003.eqiad.wmnet
- SSH Fingerprints/people1001.eqiad.wmnet
- SSH Fingerprints/people1002.eqiad.wmnet
- SSH Fingerprints/people1003.eqiad.wmnet
- SSH Fingerprints/people2002.codfw.wmnet
- SSH Fingerprints/phab1001.eqiad.wmnet
- SSH Fingerprints/phab1003.eqiad.wmnet
- SSH Fingerprints/phab1004.eqiad.wmnet
- SSH Fingerprints/phab2001.codfw.wmnet
- SSH Fingerprints/planet1002.eqiad.wmnet
- SSH Fingerprints/planet2002.codfw.wmnet
- SSH Fingerprints/primary.bastion.wmcloud.org
- SSH Fingerprints/puppetmaster1001.eqiad.wmnet
- SSH Fingerprints/puppetmaster2001.codfw.wmnet
- SSH Fingerprints/releases1001.eqiad.wmnet
- SSH Fingerprints/releases1002.eqiad.wmnet
- SSH Fingerprints/releases2001.codfw.wmnet
- SSH Fingerprints/releases2002.codfw.wmnet
- SSH Fingerprints/restricted.bastion.wmcloud.org
- SSH Fingerprints/rhenium.wikimedia.org
- SSH Fingerprints/secondary.bastion.wmcloud.org
- SSH Fingerprints/stat1002.eqiad.wmnet
- SSH Fingerprints/stat1003.eqiad.wmnet
- SSH Fingerprints/stat1004.eqiad.wmnet
- SSH Fingerprints/stat1005.eqiad.wmnet
- SSH Fingerprints/stat1006.eqiad.wmnet
- SSH Fingerprints/stat1007.eqiad.wmnet
- SSH Fingerprints/stat1008.eqiad.wmnet
- SSH Fingerprints/terbium.eqiad.wmnet
- SSH Fingerprints/tin.eqiad.wmnet
- SSH Fingerprints/trusty-dev.tools.wmflabs.org
- SSH Fingerprints/wikitech-static.wikimedia.org
To find this information, locally you can just run this:
gen_fingerprints
on any host (from ./modules/base/files/environment/gen_fingerprints), or...:
for file in /etc/ssh/*_key.pub; do ssh-keygen -lf $file; done
To get the ECDSA base64 fingerprint, login to the bastion for the host, then run the following command:
ssh-keyscan -t ecdsa <hostname> 2>/dev/null | awk '{print $3}' | base64 -d | sha256sum -b | awk '{print $1}' | xxd -r -p | base64
If that doesn't work, you might try using ssh -o FingerprintHash=md5
and comparing the MD5 checksum against the fingerprints on subpages here (or the fingerprint derived when attempting to SSH from the bastion host), or try the following Python code.
Remotely (and to format it for these pages), something like this should work:
#!/usr/bin/python3
import sys
if len(sys.argv) == 0:
print('Must specify hostname')
sys.exit(0)
hostname = sys.argv[1]
port = 22
if len(sys.argv) > 2:
port = sys.argv[2]
import collections, subprocess, tempfile
with tempfile.NamedTemporaryFile() as tf:
keyscanCommand = 'ssh-keyscan', '-t', 'rsa,ecdsa,ed25519', '-p', str(port), hostname
subprocess.call(keyscanCommand, stdout = tf.file, stderr = open('/dev/null'))
fingerprints = collections.defaultdict(list)
for fingerprintHash in ['md5', 'sha256']:
keygenCommand = ['ssh-keygen', '-l', '-E', fingerprintHash, '-f', tf.name]
keygenProcess = subprocess.Popen(keygenCommand, stdout = subprocess.PIPE)
stdout, stderr = keygenProcess.communicate()
for line in stdout.decode('ascii').splitlines():
bitlen, fingerprint, hostname, type = line.split(' ')
fingerprints[type[1:-1]].append(fingerprint)
for type, keys in fingerprints.items():
print(';' + type + ':')
for key in keys:
print('* <code>' + key + '</code>')
print()
Assuming you have OpenSSH 6.8+ (Ubuntu 15.10 provides 6.9). If you don't, you'll need to get rid of the 'sha256' list entry and remove the "'-E', fingerprintHash, ".