Manfaat dan cara setting os login vm instance gcp. Beberapa hari kemarin, admin sempat dipusingkan oleh gcp karena vm instance yang ngga bisa internet lantaran vm instance di stop saat debian adminstuck di setting dbus yang terjadi saat installasi desktop.
VM Instance GCP itu beda
Bedanya dimana? Jadi gini sob, untuk meremote vm instance gcp, sobat bisa melakukan dengan 2 cara, cara pertama dengan menambahkan public ssh, cara kedua dengan fitur os login.
Cara pertama cukup mudah, hanya dengan menambahkan public key, setelah di tambahkan sobat bisa melakukan remote login via ssh client misal putty. Cara yang kedua perlu sedikit waktu dan sedikit pengetahuan cli.
Namun cara pertama yang mudah ini ada kekuranganya dan sangat tidak aman sob.
Jika biasanya kita menambahkan user dengan perintah adduser atau useradd, setting password, kemudian setting akses level user. Setelah itu user bisa login sesuai dengan password dan level user yang sudah kita berikan.
Di vm instance tidak demikian, jika sobat menambahkan public key ke daftar public ssh vm instance, maka otomatis user tersebut akan memiliki akses root, cukup dengan perintath sudo su, maka cli akan berubah menjadi # tanpa memasukan password apapun. Walaupun user root sudah diatur password sekalipun.
Karena pada vm instance gcp, password user tidak diatur dengan perintah passwd, tapi diatur saat generate key, yaitu pada key passphrase.
Kenapa harus membatasi akses level user?
Masalah besar lain yang timbul dari login dengan public ssh adalah jika sobat memasang desktop di server. Saat user tersebut login ke desktop, maka ia juga memiliki akses root full unlimited tanpa batas. Tentu sangat berbahaya jika tidak hati-hati saat mengakses desktop dengan akses root. Salah-salah bisa reinstall ulang jika user tidak sengaja menghapus atau mengedit file system.
Bagaimana supaya user vm instance gcp tidak memiliki akses root?
Untungnya gcp telah mengantisipasi hal ini, sehingga admin bisa mengatur user dengan level masing-masing. Misal user A memiliki akses root, sedangkan untuk si B sebagai operator hanya sebagai user biasa. Caranya adalah mengaktifkan fitur enable-oslogin pada vm instance. Dengan os login, saat user root login, maka ia bebas menjalankan perintah sudo tanpa perlu memasukan password, dan saat user biasa login maka ia tidak bisa memiliki akses root, bagaimanapun caranya
Tahapan dan setting enable-oslogin vm instance gcp
- Mengaktifkan fitur OS Login VM Instance
- edit vm instance
- tambahkan metadata, isi dengan enable-oslogin valuenya TRUE
- jika sudah disimpan, maka akses public ssh otomatis tidak bisa dan harus import public key os login di cloud shell untuk masing-masing user, termasuk user admin sendiri
- Menambah user
- user yang akan ditambah haruslah memiliki akun google, karena untuk import public key, user harus masuk cloud shell gcp. Ingat ya sob, akun google, bukan akun gmail, karena akun google tidak mesti @gmail.com
- default user admin otomatis sudah ditambahkan
- generate key terlebih dahulu dengan putty key generator atau tool lainnya. Simpan publick key dan private key nya. Baca SysAdm Menggunakan PuTTYGen untuk Publik dan Privat Key- user yang akan ditambah minimal harus memiliki 2 role. Service Account User dan Compute OS Login sebagai user biasa atau Compute OS Login Admin untuk akses root
- untuk menambahkan user masuk ke menu IAM dan Admin > IAM > tambahkan member dan role nya Service Account User dan Compute OS Login/Compute OS Login Admin- jika user sudah ditambah, maka user harus mengakses vm instance dan masuk cloud shell gcp. Sobat bisa membagi url vm instance ke user supaya bisa mengakses vm instance.
- untuk import public key, harus user tersebut yang login ke cloud shell gcp, tidak bisa user yang lain
- karena tidak semua user familiar dengan cli, import key bisa sobat lakukan apabila sobat sendiri yang login akun google user tersebut dan mengakses vm instance- setelah masuk cloud shell dengan akun user, sobat bisa mengupload public key yang telah digenerate, bisa juga dibuat sendiri dengan vi atau nano, atau bisa juga di copy langsung di cli
- jalan kan perintah berikut
gcloud compute os-login ssh-keys add --key-file user_domain_com.pub
--key-file adalah public key yang telah digenerate, atau bisa di paste (ctrl-v), langsung. Pastikan format nya sudah benar supaya tidak error saat menambahkan public key
- setelah berhasil sobat bisa mengecek profile os-login dengan menjalankan perintah berikut:
gcloud compute os-login describe-profile
- Setting klien
Sampai tahapan ini import public key ke vm instance telah berhasil diimport sekarang kita mengatur ssh client, admin memakai putty sebagai ssh client
- host : masukan user dan ip public vm instance. Format usernya bukan [email protected] akan tetapi user_domain_com. Misal user [email protected] maka ditulis usjauhari_gmail_com@ip_server
- jangan lupa ssh auth nya diisi dengan private key yang digenerate sebelumnya. Public key untuk server yang sudah diimport sedangkan private key untuk klien. Baca Cara aman menggunakan koneksi SSH
- saat koneksi terhubung akan muncul perintah memasukkan key passphrase
- jika berhasil login, maka saat user akan mendapatkan akses sesuai levelnya. User root bisa full akses, sedangkan user biasa jika menjalan perintah sudo akan muncul respon bahwa user is not in the sudoers file
Sampai disini sobat bisa menjalankan perintah vncserver untuk mengaktifkan remote desktop dengan akses user biasa, tidak perlu khawatir denga file system
Any question?
Manfaat dan cara setting os login vm instance gcp. Selesai