Eu tenho muitos desses tipos de aliases, a parte anterior = é o host na configuração do ssh
alias sshConfigHost='ssh -t hostname docker exec -it containerName bash'
Posso adicioná-los a algum tipo de arquivo de configuração? O nome do host é definido na configuração do ssh, portanto, está sendo usado duas vezes de uma forma. Eu poderia ter um espaço reservado como %<whatever>
esse, que pegaria o nome do host da configuração do ssh.
Caso contrário, eu poderia pelo menos ter o nome do contêiner em minha configuração ssh e colocá-lo no cmd usando um espaço reservado?
Presumo que você queira usar seu alias sem nenhum "argumento" final (ou seja, em um shell que você deseja chamar sole
sshConfigHost
, não algo comosshConfigHost -c "shell code here"
).Se sim, você pode colocar tudo em seu
~/.ssh/config
:(Caso exista
Host *
, lembre-se que para cada parâmetro será utilizado o primeiro valor obtido .)Agora você apenas faz:
e
ssh
agirá como se você tivesse feito:Defina quantas
Host …
seções desejar. Alguns deles podem usar o mesmoHostname
e diferenteRemoteCommand
, ou qualquer outra coisa. A questão é que você pode construir uma configuração rica, então em um shell é suficientessh oneword
e a configuração preencherá tudo para você, dependendo dooneword
.O arquivo de configuração é deliberadamente tão poderoso que pode especificar todas as opções. Veja
man 5 ssh_config
. Eu me senti intimidado por esse conceito (por que me preocupar com alguma configuração "obscura" enquanto posso especificar opções e coisas assim na linha de comando, como com qualquer outra ferramenta?) até descobrir que é simples e conveniente. É a maneira certa de usarssh
. Em geral, se houver algo que você precise repetir continuamente ao chamarssh
, considere colocá-lo no arquivo de configuração.E então não há necessidade de acompanhar aliases no shell. Toda a configuração está no seu arquivo
~/.ssh/config
.