Thursday, December 15, 2016

CYGWIN -> Windows rasa Linux

Apa itu cygwin?
Sekilas cygwin adalah software yang memungkinkan windows menjalankan software populer dari GNU dan software open source lain yang sering kita temukan pada linux. Proyek cygwin dimulai pada tahun 1995 oleh Steve Chamberlain, dan yang sekarang dikembangkan oleh engineer dari redhat yaitu Corinna Vinschen.

Berdasarkan pengertian diatas semoga pembaca paham pengertian tool cygwin. Beberapa minggu yang lalu saya mendapat proyek untuk membuat deploy dan automation dengan software  yang digunakan adalah jenkins dan target host-nya menggunakan sistem operasi windows server. Pada proyek-proyek sebelumnya sistem operasi pada target host yang digunakan adalah linux. Dimana dapat mentransfer file dan mengirim perintah/task menggunakan ssh. Jadi tantangan yang saya hadapi adalah bagaimana agar saya dapat transfer file dan mengirim sinyal perintah ke windows server.. Sangat asik bila windows dapat di ssh dan berkelakuan seperti linux sehingga saya tidak perlu melakukan custom pada server jenkins saya.
Setelah berkelana di internet akhirnya saya menemukan dua tool yang dapat dijadikan solusi untuk permasalahan saya ini yaitu OpenSSH dan CYGWIN. Cygwin yang saya gunakan akan install package OpenSSH. Pasti muncul pertanyaan, kenapa tidak pakai OpenSSH saja. Pada paragraf berikutnya akan saya jelaskan kenapa cygwin lebih layak bagi kebutuhan saya. Pada artikel ini saya akan lebih fokus pada CYGWIN dan apa perbandingannya dengan tool lain yang sejenisnya.
Sebagai catatan, pada software CYGWIN untuk dapat menyediakan layanan ssh maka, perlu diinstall package openssh (bukan software OpenSSH pada windows, tapi package openssh).

Mengapa cygwin?
  • Karena user ingin/membutuhkan software yang biasa ada pada linux untuk digunakan di sistem operasi windows.
  • Transfer file dari linux dan windows dengan sftp (perintah pada linux adalah 'scp').
  • Me-remote windows dari linux tanpa menggunakan UI.
Berikut perbedaan yang saya rasakan dari kedua CYGWIN dan OpenSSH

CYGWIN Software OpenSSH for Windows Software
Menggunakan linux command dan powershell command Menggunakan powershell command
Butuh package depedencies yang saat install Tidak butuh package apapun, hanya install software
Mampu transfer folder via ssh dengan baik Tidak disarankan transfer folder

Untuk menyediakan layanan ssh pada sistem operasi windows anda maka dapat dilakukan install package openssh pada cygwin anda (asumsi software cygwin sudah terinstall included openssh package).
Pada cygwin terminal, dengan icon seperti dibawah ini:


Pada terminal pertama-tama kita perlu export terminal cygwin pada windows.

$ export CYGWIN="ntsec tty" 

Perlu mendaftarkan dan mengupdate daftar user/group yang ada di windows pada cygwin

$ mkpasswd -cl > /etc/passwd 

Atur permission dari file password agar dapat diakses sistem cygwin.

$ chmod +rw /etc/group

Atur permission dari file group agar dapat diakses sistem cygwin.

$chmod +rw /etc/passwd

Install package openssh pada cygwin

$ ssh-host-config

Pada proses instal openssh package sama seperti menginstall package openssh di linux, namun perlu diingat agar mencapai tujuan yang diinginkan pada pertanyaan pemilihan nama service pembaca dapat membuat nama service dengan nama apa saja, pada artikel ini asumsi menggunakan nama service "sshd". Lalu pada pertanyaa Do you want to install sshd as service? Pilih yes.

Setelah melakukan langkah-langkah diatas maka service sshd sudah terinstall dan berada dalam status stop, kita dapat start service dengan menggunakan window services, secara default nama service adalah "CYGWIN sshd".
Menyalakan service dapat juga dengan powershell.

net start sshd

Sekarang sistem operasi anda telah memiliki layanan ssh. Pembaca dapat menggunakan akses akun yang telah ada pada windows untuk layanan ssh pada cygwin.
Sebagai catatan, bila ingin software cygwin mampu mengelola dan memanipulasi folder maupun drive yang lain selain folder dan sub-folder cygwin maka install software tersebut dengan akses Administrator.

Demikianlah artikel ini saya buat, semoga bermanfaat dan mudah dipahami oleh pembaca. :)

No comments:

Post a Comment