SSH Config Generator
Генерируйте записи ~/.ssh/config для нескольких хостов с пользовательскими параметрами.
Host myserver HostName 192.168.1.100 User ubuntu IdentityFile ~/.ssh/id_rsa ServerAliveInterval 60
Как использовать:
- Сохраните выходные данные в ~/.ssh/config
- Выполните: chmod 600 ~/.ssh/config
- Подключитесь с помощью: ssh <HostAlias>
Об этом инструменте
SSH Config Generator упрощает управление несколькими SSH-соединениями путём программного создания записей ~/.ssh/config. Вместо ручного редактирования файла конфигурации SSH и запоминания имён хостов, IP-адресов и путей к ключам для каждого сервера, этот инструмент позволяет определить все ваши SSH-хосты в структурированном формате и сгенерировать полный файл конфигурации за несколько секунд. Хорошо организованный SSH config необходим разработчикам, системным администраторам и инженерам DevOps, которые часто подключаются к разным серверам.
Чтобы использовать инструмент, введите ваши SSH-хосты с соответствующими параметрами—такие как имя хоста, порт, имя пользователя, путь файла идентификации и любые дополнительные опции SSH. Генератор автоматически форматирует эти записи в соответствии с синтаксисом SSH config и выводит результат, который вы можете затем скопировать прямо в файл ~/.ssh/config или добавить к существующей конфигурации. Такой подход исключает ошибки синтаксиса и обеспечивает единообразное форматирование всех определений хостов, независимо от количества управляемых серверов.
Часто задаваемые вопросы
Реализация кода
import paramiko
# SSH with config file support using Paramiko
config = paramiko.SSHConfig()
with open('/home/user/.ssh/config') as f:
config.parse(f)
host_config = config.lookup('myserver')
print(host_config)
# {'hostname': '192.168.1.100', 'user': 'ubuntu', 'port': '22'}
# Connect using resolved config
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(
hostname=host_config['hostname'],
username=host_config.get('user', 'root'),
port=int(host_config.get('port', 22)),
key_filename=host_config.get('identityfile', [None])[0]
)
stdin, stdout, stderr = client.exec_command('uptime')
print(stdout.read().decode())
client.close()Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.