No arquivo de configuração ssh, posso usar “Host” como parâmetro? Se não, como posso fazer o arquivo ssh config accept parameter?

1

no arquivo .ssh / config

O cenário é que Eu tenho dois ips públicos agora (dinâmicos), um é conectado ao aws e um é conectado ao rackspace

Ambos exigem chaves pem diferentes para se conectar. Mas eu quero usar o arquivo de configuração ssh para economizar meu tempo

Host <ip1> 
User root
Port 22
HostName %h
IdentityFile ~/.ssh/aws.pem

Host <ip2> 
User root
Port 22
HostName %h
IdentityFile ~/.ssh/rackspace.pem

A partir desta configuração, não consigo distinguir qual arquivo pem deve ser usado. Eu quero fazer uso do host como parte do parâmetro para especificar qual servidor para se conectar ao por exemplo. ssh aws-ip1 ssh rack-ip2

então o arquivo de configuração pode distinguir qual arquivo pem usar

Alguém sabe como fazer isso?

    
por Kit Ho 03.11.2012 / 12:42

3 respostas

1

Ok ... Essa pergunta é muito antiga. No entanto, posso pensar em uma maneira que ajudará nesse tipo de cenário. Usando os parâmetros curinga (*) e% h aqui.

Vamos assumir o IP da Amazon como 10.10.20. * e o Rackspace IP como 20.20.10. *. A seguinte configuração ajudará:

Host 10.10.20.*
    Hostname %h
    User root
    IdentityFile ~/.ssh/aws.pem

Host 20.20.10.*
    Hostname %h
    User root
    IdentityFile ~/.ssh/rackspace.pem

E, em seguida, ligando, diga que ssh 10.10.20.5 chamará algo como ssh -i ~/.ssh/aws.pem [email protected] , que é o que pode ser necessário.

    
por 24.02.2015 / 07:37
0

A parte 'Host' é uma espécie de 'atalho' que você pode usar:

Host aws-ip1
    HostName ip-or-name-to-ip1
    IdentityFile ~/.ssh/aws.pem

Host rack-ip2
    HostName ip-or-name-to-ip2
    IdentityFile ~/.ssh/rackspace.pem

e depois você usa apenas ssh aws-ip1 ou ssh rack-ip2 ...

Para citar man ssh-config :

Host    Restricts the following declarations (up to the next Host key-
        word) to be only for those hosts that match one of the patterns
        given after the keyword.
    
por 03.11.2012 / 12:48
0

Outra opção é usar aliases simples de shell da velha escola:

 alias ssh_rack="ssh -i .ssh/rackspace.pem"
 alias ssh_aws="ssh -i .ssh/aws.pem"

e, em seguida, use-os em vez de ssh .

    
por 03.11.2012 / 12:58

Tags