Pengaturan proxy untuk Git
Sudah beberapa bulan ini kantor mewajibkan penggunaan proxy untuk koneksi
internet. Sebenarnya saya pribadi tidak masalah, hanya saja beberapa
port_ditutup karena penggunaan _proxy ini, salah satunya untuk git. Sudah
mengatur proxy melalui perintah export http_proxy
pun masih belum berhasil.
$ export http_proxy=http://proxyhost:port
$ export https_proxy=http://proxyhost:port
1. Pengaturan Proxy Pada Git
Pertama Ketik perintah ini pada terminal/command line dengan mengubah terlebih
dahulu proxy.mycompany:port
menjadi alamat host atau alamat ip dari proxy
server dan port nya
$ export HTTP_PROXY=http://proxy.mycompany:port
$ export HTTPS_PROXY=http://proxy.mycompany:port
$ git config --global http.proxy $HTTP_PROXY
Catatan: Semua perintah export tidak permanen, sehingga setiap kali komputer
dinyalakan kembali perintah export
harus dijalankan lagi. Untuk menjadikan
perintah tersebut permanen bisa menambahkan
export HTTP_PROXY=http://proxy.mycompany:port
export HTTPS_PROXY=http://proxy.mycompany:port
pada berkas ~/.bashrc
untuk bash atau ~/.zshrc
untuk zsh. Apabila proxy
yang digunakan menggunakan username dan password untuk otentikasi pengguna,
maka perintahnya menjadi:
$ export HTTP_PROXY=http://username:password@proxy.mycompany:port
$ export HTTPS_PROXY=http://username:password@proxy.mycompany:port
$ git config --global http.proxy $HTTP_PROXY
2. Pengaturan Proxy pada SSH
Perintah di atas hanya dapat digunakan untuk menarik data (pull) dari server git. Apabila kita ingin mengunggah data (push) ke repositori server git maka kita juga harus mengatur proxy pada ssh, karena koneksi ke repositori server umumnya menggunakan ssh. Untuk mengatur proxy pada ssh dapat melakukan tahapan berikut:
Install corkscrew
# pacman -S corkscrew
Perintah ini hanya berlaku untuk Arch Linux, untuk distro lain atau windows silahkan mencari bantuan dengan mesin pencari Google cara menginstall corkscrew
Atur proxy ssh
Edit berkas ~/.ssh/config
apabila berkas belum tersedia dapat membuat berkas
baru dan tambahkan.
ProxyCommand /bin/corkscrew proxy.mycompany port %h %p
Atur koneksi Git dengan ssh+proxy
Umumnya koneksi yang melewati proxy juga mengalami pemblokiran untuk akses
melewati beberapa port. Seperti kasus di kantor saya yang port ssh-nya
diblokir, maka dapat melakukan koneksi ssh melalui port lain. Github
menyediakan koneksi ssh melewati port HTTPS, atau 443. Untuk menggunakannya
dapat mengedit ~/.ssh/config
dan tambahkan:
Host github.com
Hostname ssh.github.com
Port 443
Untuk menguji apakah koneksi berhasil atau tidak, dapat menjalankan perintah berikut:
$ ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.
3. Menghapus pengaturan proxy
Untuk menghapus pengaturan proxy yang sudah dibuat sebelumnya, dapat menjalankan perintah:
$ export HTTP_PROXY=""
$ export HTTPS_PROXY=""
$ git config --global --unset http.proxy
Berikutnya hapus berkas ~/.ssh/config
. Apabila berencana menggunakan proxy
lagi sebaiknya berkas ini di-backup terlebih dahulu dan dikembalikan lagi
apabila dibutuhkan.