Script bash untuk membuat SSH key dengan algoritma ed25519 dan menambahkannya secara otomatis ke file SSH config.
Script interaktif lengkap dengan validasi input dan konfigurasi yang detail.
Fitur:
- ✅ Validasi email
- ✅ Input interaktif untuk semua parameter
- ✅ Cek dan konfirmasi jika key sudah ada
- ✅ Otomatis membuat direktori
.ssh
jika belum ada - ✅ Menambahkan key ke SSH agent
- ✅ Menampilkan public key untuk di-copy
- ✅ Konfigurasi SSH config yang lengkap
- ✅ Output berwarna untuk kemudahan pembacaan
Penggunaan:
./generate_ssh_key.sh
Script sederhana yang dapat dijalankan dengan parameter atau menggunakan default values.
Penggunaan:
# Dengan parameter
./simple_ssh_gen.sh "your.email@example.com" "my_key" "github" "github.com"
# Menggunakan default values
./simple_ssh_gen.sh
Parameter:
email
- Email untuk SSH key (default: user@example.com)key_name
- Nama file key (default: id_ed25519)host_alias
- Alias untuk SSH config (default: myserver)hostname
- Hostname server (default: example.com)
./simple_ssh_gen.sh "youremail@gmail.com" "github_key" "github" "github.com"
./simple_ssh_gen.sh "youremail@gmail.com" "gitlab_key" "gitlab" "gitlab.com"
./simple_ssh_gen.sh "youremail@gmail.com" "server_key" "myserver" "192.168.1.100"
Kedua script akan:
- ✅ Membuat SSH key pair (private & public key) dengan algoritma ed25519
- ✅ Menyimpan key di
~/.ssh/[key_name]
- ✅ Menambahkan konfigurasi ke
~/.ssh/config
- ✅ Menambahkan key ke SSH agent
- ✅ Menampilkan public key untuk di-copy ke server
Host [host_alias]
HostName [hostname]
User git
IdentityFile ~/.ssh/[key_name]
IdentitiesOnly yes
AddKeysToAgent yes
- Script menggunakan algoritma ed25519 yang lebih aman dibanding RSA
- Key dibuat tanpa passphrase untuk kemudahan otomasi
- Permission direktori
.ssh
diset ke700
- Permission file config diset ke
600
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/[key_name]
Edit script dan hapus parameter -N ""
dari perintah ssh-keygen
ssh-add -l
- Linux/macOS dengan bash
- OpenSSH client (ssh-keygen, ssh-add)
- Permission untuk menulis ke direktori
~/.ssh