Portál AbcLinuxu, 14. května 2025 02:38
alias se1="ssh 10.0.0.1" alias se2="ssh 10.0.0.2" alias se3="ssh 10.0.0.3" alias se4="ssh 10.0.0.4" alias se5="ssh 10.0.0.5"Skript pro kopírování.
#!/bin/sh # Kopirovani .bashrc, .bash_profile a .ssh slozky na servery HOME=/home/$USER BR=$HOME/.bashrc BP=$HOME/.bash_profile SL=$HOME/serverlist.txt SH=$HOME/.ssh cd $HOME clear grep ssh $BR | awk '{ print $2}' | sed 's/="ssh//g' >$SL; while read server; do scp -r -p $BR $BP $SH $server:$HOME done <$SL exit 0Skript pokaždé u některých serverů vypíše hláškou:
ssh: se3: Name or service not known lost connectionRuční kopírování na jméno aliasu nejede, na IP adresu ano. Na servery, kde nemohu úspěšně použít scp pomocí aliasů, se s aliasy normálně přes SSH přihlásím. Napadá někoho, proč u některých serverů scp na jméno aliasu jede a u některých serverů ne? V /etc/hosts nemám definován žádný server, krom localhostu. Můžu kolektnout IP adresy místo názvů, ale rád bych to rozluštil. Díky za pomoc.
Řešení dotazu:
Alias v bashi funguje jako náhrada za příkaz, takže ho nemůžete použít někde uprostřed parametrů a doufat, že bude fungovat. Pokud chcete něco jako "aliasy pro ssh/scp", napište si do ~/.ssh/config
např.
Host abc Hostname www.abc.cz User root
a bude vám to fungovat i bez těch krkolomných konstrukcí.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.