diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-04-24 01:46:22 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-04-24 01:46:22 +0200 |
commit | 42f449b9ce66a74e17047c93fac6306c66ab1331 (patch) | |
tree | 213ea87de757d5e2e0fc5e87c4e795352fb0f9c1 | |
parent | 346f5828e0e435d76ef7da8316e77a426c826d19 (diff) |
ssh: print the whole ssh-rsa hostkey in base64 when thumb check fails
in addition to the thumbprint, also print the whole
hostkey in base64 (same format as openssh uses) to
make verification easier.
-rw-r--r-- | sys/src/cmd/ssh.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/src/cmd/ssh.c b/sys/src/cmd/ssh.c index e4e1f3e89..de59cbe02 100644 --- a/sys/src/cmd/ssh.c +++ b/sys/src/cmd/ssh.c @@ -492,7 +492,6 @@ void kex(int gotkexinit) { static char kexalgs[] = "curve25519-sha256,curve25519-sha256@libssh.org"; - static char hostkeyalgs[] = "ssh-rsa"; static char cipheralgs[] = "chacha20-poly1305@openssh.com"; static char zipalgs[] = "none"; static char macalgs[] = ""; @@ -512,7 +511,7 @@ kex(int gotkexinit) sendpkt("b[ssssssssssbu", MSG_KEXINIT, cookie, sizeof(cookie), kexalgs, sizeof(kexalgs)-1, - hostkeyalgs, sizeof(hostkeyalgs)-1, + sshrsa, sizeof(sshrsa)-1, cipheralgs, sizeof(cipheralgs)-1, cipheralgs, sizeof(cipheralgs)-1, macalgs, sizeof(macalgs)-1, @@ -592,7 +591,9 @@ Next1: switch(recvpkt()){ ok = initThumbprints(thumbfile, nil, "ssh"); if(ok == nil || !okThumbprint(h, sizeof(h), ok)){ if(ok != nil) werrstr("unknown host"); - fprint(2, "%s: %r, to add after verification:\n", argv0); + fprint(2, "%s: %r\n", argv0); + fprint(2, "verify hostkey: %s %.*[\n", sshrsa, nks, ks); + fprint(2, "add thumbprint after verification:\n"); fprint(2, "\techo 'ssh sha256=%s server=%s' >> %q\n", thumb, host, thumbfile); sysfatal("checking hostkey failed: %r"); } @@ -1092,6 +1093,7 @@ main(int argc, char *argv[]) quotefmtinstall(); fmtinstall('B', mpfmt); fmtinstall('H', encodefmt); + fmtinstall('[', encodefmt); s = getenv("TERM"); raw = s != nil && strcmp(s, "dumb") != 0; |