Lewati ke konten
🛠️ToolsShed

SSH Config Generator

Hasilkan entri ~/.ssh/config untuk beberapa host dengan pengaturan kustom.

Entri Host 1
~/.ssh/config
Host myserver
  HostName 192.168.1.100
  User ubuntu
  IdentityFile ~/.ssh/id_rsa
  ServerAliveInterval 60

Cara menggunakan:

  1. Simpan output ke ~/.ssh/config
  2. Jalankan: chmod 600 ~/.ssh/config
  3. Hubungkan dengan: ssh <HostAlias>

Tentang alat ini

SSH Config Generator menyederhanakan proses pengelolaan koneksi SSH ganda dengan membuat entri ~/.ssh/config secara terprogram. Daripada mengedit file konfigurasi SSH secara manual dan mengingat alias host, alamat IP, dan jalur kunci untuk setiap server, alat ini memungkinkan Anda mendefinisikan semua host SSH dalam format terstruktur dan menghasilkan file konfigurasi lengkap dalam hitungan detik. Memiliki SSH config yang terorganisir dengan baik sangat penting bagi pengembang, administrator sistem, dan insinyur DevOps yang sering terhubung ke server yang berbeda.

Untuk menggunakan alat ini, masukkan host SSH Anda dengan pengaturan terkait—seperti nama host, port, nama pengguna, jalur file identitas, dan opsi SSH tambahan apa pun. Generator secara otomatis memformat entri ini sesuai sintaksis SSH config dan menampilkan keluaran, yang kemudian dapat Anda salin langsung ke file ~/.ssh/config atau tambahkan ke konfigurasi yang sudah ada. Pendekatan ini menghilangkan kesalahan sintaksis dan memastikan pemformatan yang konsisten di semua definisi host Anda, terlepas dari berapa banyak server yang Anda kelola.

Pertanyaan yang Sering Diajukan

Implementasi Kode

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.