Here I go again
When connecting to a ssh host via ProxyJump the ssh connections throws an error.
λ ssh -J host.A host.B
kex_exchange_identification: banner line contains invalid characters
banner exchange: Connection to UNKNOWN port 65535: invalid format
What is happening?
debug1: kex_exchange_identification: banner line 0: \033[?25l\033[?7l\033[0m\033[34m\033[1m
debug1: kex_exchange_identification: banner line 1: .%;888:8898898:
debug1: kex_exchange_identification: banner line 2: x;XxXB%89b8:b8%b88:
debug1: kex_exchange_identification: banner line 3: .8Xxd 8X:.
debug1: kex_exchange_identification: banner line 4: .8Xx; 8x:.
debug1: kex_exchange_identification: banner line 5: .tt8x \033[0m\033[34m\033[1m.d\033[0m\033[34m\033[1m x88;
debug1: kex_exchange_identification: banner line 6: .@8x8; \033[0m\033[34m\033[1m.db:\033[0m\033[34m\033[1m xx@;
debug1: kex_exchange_identification: banner line 7: \033[0m\033[34m\033[1m,tSXX\302\260 .bbbbbbbbbbbbbbbbbbbB8x@;
debug1: kex_exchange_identification: banner line 8: .SXxx bBBBBBBBBBBBBBBBBBBBbSBX8;
debug1: kex_exchange_identification: banner line 9: ,888S pd!
debug1: kex_exchange_identification: banner line 10: 8X88/ q
debug1: kex_exchange_identification: banner line 11: GBB.
debug1: kex_exchange_identification: banner line 12: \033[0m\033[34m\033[1mx%88 d888@8@X@X@X88X@@XX@@X@8@X.
debug1: kex_exchange_identification: banner line 13: dxXd dB8b8b8B8B08bB88b998888b88x.
debug1: kex_exchange_identification: banner line 14: dxx8o .@@;.
debug1: kex_exchange_identification: banner line 15: dx88 .t@x.
debug1: kex_exchange_identification: banner line 16: d:SS@8ba89aa67a853Sxxad.
debug1: kex_exchange_identification: banner line 17: .d988999889889899dd.\033[0m
debug1: kex_exchange_identification: banner line 18: \033[18A\033[9999999D\033[51C\033[0m\033[1m\033[34m\033[1meha\033[0m@\033[34m\033[1meha-notebook\033[0m
debug1: kex_exchange_identification: banner line 19: \033[51C\033[0m----------------\033[0m
debug1: kex_exchange_identification: banner line 20: \033[51C\033[0m\033[34m\033[1mOS\033[0m\033[0m:\033[0m Garuda x86_64\033[0m
debug1: kex_exchange_identification: banner line 21: \033[51C\033[0m\033[34m\033[1mHost\033[0m\033[0m:\033[0m N24_25BU\033[0m
debug1: kex_exchange_identification: banner line 22: \033[51C\033[0m\033[34m\033[1mKernel\033[0m\033[0m:\033[0m 5.9.11-zen2-1-zen\033[0m
debug1: kex_exchange_identification: banner line 23: \033[51C\033[0m\033[34m\033[1mUptime\033[0m\033[0m:\033[0m 3 hours, 56 mins\033[0m
debug1: kex_exchange_identification: banner line 24: \033[51C\033[0m\033[34m\033[1mPackages\033[0m\033[0m:\033[0m 1243 (pacman)\033[0m
debug1: kex_exchange_identification: banner line 25: \033[51C\033[0m\033[34m\033[1mShell\033[0m\033[0m:\033[0m /usr/bin/fish 3.1.2\033[0m
debug1: kex_exchange_identification: banner line 26: \033[51C\033[0m\033[34m\033[1mResolution\033[0m\033[0m:\033[0m 1920x1080, 1920x1080\033[0m
debug1: kex_exchange_identification: banner line 27: \033[51C\033[0m\033[34m\033[1mDE\033[0m\033[0m:\033[0m Plasma 5.20.4\033[0m
debug1: kex_exchange_identification: banner line 28: \033[51C\033[0m\033[34m\033[1mWM\033[0m\033[0m:\033[0m KWin\033[0m
debug1: kex_exchange_identification: banner line 29: \033[51C\033[0m\033[34m\033[1mTerminal\033[0m\033[0m:\033[0m alacritty\033[0m
debug1: kex_exchange_identification: banner line 30: \033[51C\033[0m\033[34m\033[1mTerminal Font\033[0m\033[0m:\033[0m FantasqueSansMono\033[0m
debug1: kex_exchange_identification: banner line 31: \033[51C\033[0m\033[34m\033[1mCPU\033[0m\033[0m:\033[0m Intel i7-7500U (4) @ 3.5GHz\033[0m
debug1: kex_exchange_identification: banner line 32: \033[51C\033[0m\033[34m\033[1mGPU\033[0m\033[0m:\033[0m Intel HD Graphics 620\033[0m
debug1: kex_exchange_identification: banner line 33: \033[51C\033[0m\033[34m\033[1mMemory\033[0m\033[0m:\033[0m 8585MiB / 31907MiB\033[0m
debug1: kex_exchange_identification: banner line 34:
debug1: kex_exchange_identification: banner line 35: \033[51C\033[30m\033[40m \033[31m\033[41m \033[32m\033[42m \033[33m\033[43m \033[34m\033[44m \033[35m\033[45m \033[36m\033[46m \033[37m\033[47m \033[m
debug1: kex_exchange_identification: banner line 36: \033[51C\033[38;5;8m\033[48;5;8m \033[38;5;9m\033[48;5;9m \033[38;5;10m\033[48;5;10m \033[38;5;11m\033[48;5;11m \033[38;5;12m\033[48;5;12m \033[38;5;13m\033[48;5;13m \033[38;5;14m\033[48;5;14m \033[38;5;15m\033[48;5;15m \033[m
debug1: kex_exchange_identification: banner line 37:
Ohh boy…
This looks like a fish shell issue and I am completely new to fish.
But I am doing some research how to fix this.
Edit:
Found this
Git Quote:
I think I’ve worked it out now. The problem is that base16 gets executed on every shell invocation with the suggested installation instruction. In bash and zsh,
.bashrc
/.zshrc
only get executed for interactive shells, butconfig.fish
is executed for every shell. base16 works by spewing a bunch of control characters to the terminal, but in this case the terminal is stdin of ssh.Try this instead in your
config.fish
:if status --is-interactive sh $HOME/.config/base16-shell/base16-default.dark.sh end
The reason I couldn’t reproduce this is that I don’t use fish as my login shell - instead I
exec
it from the bottom of my.zshrc
. (ssh’s ProxyCommand assumes that your login shell is sh-compatible, which is probably unwise.)