resolve_ssh_alias() now extracts tokens with 'read -r', which
collapses tabs and spaces uniformly. Two bugs were at play:
1. The previous parser split on literal spaces
(key="${line%% *}") and used '${line#Host }' to drop the
Host directive, so configs that used tab indentation
(e.g. '\tHostName 10.60.16.35') ended up with key being the
whole line and never matching the case branches. Result:
'has no HostName in ~/.ssh/config' even when one was present.
2. The script's global IFS is $'\n\t' (no space), which made
'read' unable to split on spaces at all. Fixed by restoring
space-aware IFS locally inside the loop.
Verified against tabbed, spaced, mixed, indented-comment and
Host\tname configs; behavior with the original space-separated
configs is unchanged.