Eu uso muito o sshconfigs. É sempre bom conectar uma conexão ssh com configuração personalizada apenas com “ssh host_name”.
recentemente, lancei um utilitário de linha de comando para lidar com configurações de ssh. Ele não traz coisas mágicas em comparação com vim ~ / .ssh / config. Mas eu gosto mais dessa forma, e comandos como list / search seriam muito úteis se você tiver muitos servidores em sua configuração de ssh.
após o lançamento, muitas pessoas pediram para usá-lo como uma biblioteca em vez de uma ferramenta de linha de comando. Então, aqui está, uma pequena documentação sobre como usar o Storm como uma biblioteca Python (felizmente, ele foi desacoplado o suficiente para usá-lo dessa forma).
instalação
pip install stormssh
</code></pre>
initialization:
from storm import ssh_config
sconfig = ssh_config.ConfigParser("/home/emrebey/.ssh/config")
sconfig.load()
</code></pre>
get the raw config
output:
[{
'host': 'vps',
'type': 'entry',
'options': {
'hostname': 'emreyilmaz.me',
'user': 'root',
'port': '22'
},
'order': 1
}, {
'host': 'netscaler',
'type': 'entry',
'options': {
'hostname': 'netscaler.com',
'user': 'root',
'port': '22'
},
'order': 2
}
]
</code></pre>
add a host to config
sconfig.add_host('name', {
'user': 'user',
'hostname': 'hostname.com',
'port': 2400,
})
sconfig.writetossh_config() # save it to the config
</code></pre>
modify a host
sconfig.update_host('name', {
'user': 'root',
'hostname': 'root.com',
'port': 22,
})
</code></pre>
deleting a single host by name
from storm.exceptions import StormValueError
try:
sconfig.delete_host('name')
except StormValueError:
pass
</code></pre>
delete all hosts
sconfig.deleteallhosts()
</code></pre>
searching hosts
print sconfig.search_host('vps')
</code></pre>
output:
[{
'host': 'vps',
'type': 'entry',
'options': {
'hostname': 'emreyilmaz.me',
'user': 'emre',
'port': '22'
},
'order': 1
}, {
'host': 'vps_backup',
'type': 'entry',
'options': {
'hostname': 'emreyilmaz.me',
'user': 'root',
'port': '24'
},
'order': 2
}
]
</code></pre>
browse ssh_config.py for more.