Tenho 5 servidores para gerenciar (ssh, túnel, etc). Então, existe uma maneira/plugin de realizar uma pesquisa de texto livre e executar um comando. Por exemplo, mapeio uma frase para um comando bash e filtro no terminal por meio de pesquisa de texto livre. Eu sei sobre a pesquisa de histórico com o comando ctrl + R, mas é um pouco complicado pesquisar todos os ips para encontrar o servidor relevante.
Por exemplo
Text : "ssh to server 1" >> "ssh nirojan@ipaddress"
Text : "tunnel to server 5" "ssh -L 5234:localhost:5433 "
Responder1
Para SSH especificamente
Defina aliases de host no arquivo de configuração do cliente SSH~/.ssh/config
. Por exemplo:
Host server1
Hostname ipaddress
User nirojan
Host server5-tunnel
Hostname server5
LocalForward 5234:localhost:5433
Então ssh server1
é equivalente a nirojan@ipaddress
e assim por diante. A vantagem desse método é que ele funciona com tudo que usa SSH nos bastidores, por exemplo rsync -a somefile server1:some/directory
.
Se você habilitou a conclusão sensível ao contexto no bash ou zsh, o shell completará os aliases do host onde você poderá usá-los com comandos como ssh
, sftp
, rsync
, etc.
Além disso, se você precisar fazer a mesma coisa em vários servidores, consulteExecute comandos automaticamente por SSH em muitos servidores
Responder2
Se o seu shell suportar aliases (veja a seção de comentários), você poderá usar aliases:
alias sshserv1='ssh [email protected]'
alias sshserv2='ssh [email protected]'
Você colocaria isso no seu, ~/.bashrc
por exemplo.
Mais informações aqui: http://tldp.org/LDP/abs/html/aliases.html
Alternativamente: a hstr
ferramenta brilhante (aqui:https://github.com/dvorka/hstr) é um ótimo pesquisador de histórico de comandos e supera Ctrl+R em todas as frentes.