Lewati ke konten utama

Akses SSH pada Container: Kelola Server Anda dari Manapun

The Jelastic Platform allows establishing SSH access to any container on your account. In this guide, we’ll provide some of the most common commands that can come in handy when managing your server via SSH terminal.

There are two ways to connect your server inside Jelastic PaaS over SSH:

  • Web SSH - click on the same-named option next to the required environment layer or particular container to quickly access and start managing it online directly through your browser, via the automatically opened terminal tab at the bottom of Jelastic dashboard
Application Servers Web SSH
  • SSH Gate - alternatively, you can connect to your server via any preferred local SSH client basing on preliminary generated SSH keys pair (where the public key should be added to your Account Settings, and the corresponding private key - being handled at your local machine)
SSH Keys

Once all the requirements are fulfilled, you can establish an SSH connection by means of the corresponding command line (circled above) from the same-named tab of your account settings.

For the sake of simplicity and quick access, in this article we’ll leverage the inbuilt Web SSH tool; however, the described below commands can be used when working via remote local client absolutely similar.

Tips:

  • Within the majority of servers within Jelastic PaaS (including custom Docker containers), you are automatically granted full root permissions while connected via SSH. For the rest, mostly legacy nodes, which were created upon Jelastic-managed certified stack templates, the sufficient level of controllability is ensured with a set of additional intentionally allowed commands.
  • The full list of terminal commands with all the appropriate options description you can find at the dedicated websites, similar to the linked above. In this guide we’ll consider a number of the most common commands to give you insights on the basics of operating with containers via the SSH protocol.

Bagian ini lebih ditujukan untuk pemula daripada pengembang rata-rata, jadi sebagian besar dari Anda mungkin dapat melewati ini dan melanjutkan ke operasi yang lebih kompleks - tetapi kami percaya ini tetap layak untuk disebutkan sebelum melangkah lebih jauh.

Setelah Anda memasuki container yang diperlukan melalui konsol, Anda akan masuk ke direktori rumah server secara default, yang biasanya didedikasikan untuk menyimpan data dan konfigurasi kustom Anda. Untuk navigasi antara folder, digunakan perintah cd, dengan argumen yang tersedia berikut:

  • {directory_path} - _baik nama folder yang ada di dalam (di mana beberapa level bersarang yang dipisahkan garis miring dapat ditentukan) atau jalur lengkap ke direktori yang diperlukan relatif terhadap root container

  • .. - untuk menavigasi satu level ke atas dalam pohon file

  • ~ - untuk langsung beralih ke direktori kerja Anda (server home) dari lokasi mana pun

  • / - untuk langsung beralih ke direktori root container

Tomcat Option

Sebagai hasilnya, string ungu di sebelah nama host container akan berubah, menunjukkan lokasi Anda saat ini.

Tip: Jika Anda baru mengenal runtime stack yang dijalankan oleh instansi Anda, kemungkinan besar Anda ingin menjelajahi struktur internalnya terlebih dahulu (yaitu pohon file & direktori, file konfigurasi yang tersedia, dll.). Cara paling nyaman untuk mencapai ini adalah dengan menggunakan GUI File Manager bawaan Jelastic, yang tersedia dengan mengklik tombol Config di sebelah server yang diperlukan pada panel pengembang Anda:

Application Servers

Pohon file yang sesuai akan ditampilkan di tab khusus di bawah.

1. Untuk membuat file atau folder baru, jalankan perintah berikut:

  • touch [path-to/]{file} -_ untuk membuat file baru

  • mkdir [path-to/]{dir} - _untuk membuat folder baru

dimana

{file} dan {dir} - nama file atau folder yang disukai (jika dibuat di direktori saat ini)

[path-to/] - parameter opsional jika item baru ini harus ditempatkan di lokasi lain.

Tomcat Project

2. Untuk memastikan bahwa file dan folder yang telah kami tentukan di atas benar-benar dibuat, ambil daftar file dan direktori yang terdiri di lokasi saat ini dengan perintah berikut:

ls
Out of memory error

3. Di antara beberapa perintah paling umum yang dimaksudkan untuk manajemen file, adalah:

  • cat - digunakan untuk beroperasi dengan file teks; tergantung pada argumen yang dinyatakan, memungkinkan untuk melihat, menggabungkan, dan menduplikasi isi file
  • _cp - _untuk menyalin file dan direktori
  • locate - untuk menemukan file atau direktori yang diperlukan dalam server berdasarkan namanya (atau sebagian darinya)
  • mv - untuk memindahkan dan/atau mengganti nama file dan direktori
  • _pwd - _untuk menampilkan jalur lengkap ke direktori saat ini (relatif terhadap root container)__
  • _rm - _untuk menghapus file atau direktori yang ditentukan

Sekarang, mari kita pertimbangkan kemungkinan shell default untuk memantau dan mengelola metrik node Anda, konsumsi sumber dayanya, proses yang berjalan di dalamnya, dan lain-lain.

Commands to View Server System Information

1. Untuk mendapatkan ringkasan singkat tentang keadaan container saat ini dan pastikan bahwa, misalnya, tidak ada pihak jahat yang mempengaruhi kinerja dan/atau operasionalnya, gunakan perintah w:

Web SSH Jelastic

Output yang diterima akan memberikan Anda beberapa informasi umum sistem dalam header (yaitu - cap waktu sistem saat ini, waktu operasi instansi, jumlah pengguna yang masuk dan jumlah rata-rata proses aktif selama 1/5/15 menit terakhir) dan detail tentang pengguna yang terhubung di bawah (nama mereka, tipe terminal, IP koneksi sumber, waktu login, statistik tentang aktivitas terakhir, dan nama dari proses yang aktif saat ini, yang dijalankan atas nama).

Tip: Karena spesifikasi implementasi shell asli, output perintah w tidak mencakup informasi tentang pengguna, yang terhubung melalui terminal emulator.

2. Semua statistik penggunaan RAM server disimpan dalam file /proc/meminfo. Untuk meninjau isinya, gunakan perintah cat yang disebutkan di atas:

cat /proc/meminfo

Tomcat Memory Info

Di sini, Anda dapat memeriksa data seperti total memori yang dialokasikan (MemTotal), memori yang tidak digunakan (MemFree), memori yang digunakan sebagai cache (Cached), dan lainnya.

3. Untuk menampilkan data perangkat lunak dan perangkat keras dasar container, jalankan baris berikut:

uname -a
linux node ssh

Di sini Anda dapat melihat informasi tentang kernel server (nama, versi, tanggal rilis), nama host node, jenis CPU, OS, dll.

How to Manage Container Processes Remotely via Terminal

1. Saat terhubung melalui SSH, Anda dapat memantau semua proses yang berjalan di dalam container dengan perintah top:

web ssh tasks

Di sini, informasi diperbarui secara real-time, menampilkan info tentang semua proses pengguna (termasuk yang sistem).

Tekan Ctrl + C untuk menghentikan eksekusi perintah dan kembali ke mode input konsol.

2. Untuk menampilkan hanya proses aktif pengguna Anda, ketikkan ps dan jalankan perintah ini:

web ssh tomcat

3. Perintah lain yang berguna adalah kill, yang memungkinkan menghentikan proses yang sedang berjalan, ditandai dengan {pid}-nya sebagai argumen (identifier proses yang diperlukan dapat ditemukan dalam output perintah sebelumnya):

kill {pid}
Tomcat My Project

Seperti yang dapat Anda lihat, proses run, ditampilkan di layar dalam langkah kedua dari bagian ini, dihentikan karena tidak tercantum di antara proses aktif sekarang.

Operating Application Archives via SSH Console

Anda dapat mengambil file yang diperlukan dari Internet (misalnya, arsip aplikasi Anda) langsung melalui konsol, untuk menyimpannya dan/atau kemudian menerapkannya di server Anda.

1. Perintah wget memungkinkan untuk mengunduh file dengan {link} yang ditentukan:

wget {link}
Tomcat Apache

2. Kemudian, Anda dapat unzip arsip yang diunduh dengan perintah yang sama:

unzip {archive}

dimana {archive} adalah jalur ke paket terkompresi Anda.

Tomcat Archive

Sebagai hasilnya, semua file yang diekstraksi akan ditempatkan ke folder dengan nama yang sama (setelah arsip) di dalam direktori saat ini.

Setting Custom Server Variables via SSH

1. Daftar variabel lingkungan default untuk setiap container dapat dilihat dalam file .bash_profile, yang terletak di direktori rumah container. Jadi untuk memeriksa mereka, pastikan Anda telah sampai ke direktori container yang tepat dan jalankan perintah berikut:

cat .bash_profile
Command History

2. File .bash_profile tidak dapat diedit, jadi jika Anda perlu menambahkan variabel Anda sendiri, tuliskan ke file .bashrc dalam folder yang sama (cukup buat, jika tidak ada). Untuk melakukan ini, gunakan editor teks yang diinginkan (misalnya, vi):

Web SSH

3. Di sini, variabel baru harus ditentukan dalam format berikut:

export {VAR_NAME}={VAR_VALUE}

di mana:

  • {VAR_NAME} - nama variabel yang ingin Anda buat
  • {VAR_VALUE} - nilai untuk variabel yang sesuai
Export Value

Note: File .bashrc dibaca selama inisiasi bash sehingga perubahan akan diterapkan secara otomatis saat memulai semua sesi pengguna berikutnya. Tapi jika Anda perlu menerapkan perubahan yang dilakukan segera, jalankan perintah bash untuk memulai ulang shell.

4. Untuk memeriksa apakah variabel khusus Anda berhasil diterapkan, jalankan perintah berikut:

**_echo_** _$_**_{VAR_NAME}_**
Tomcat Value

Dalam tanggapan konsol, Anda harus melihat string {VAR_VALUE} yang mirip dengan nilai yang baru saja Anda tetapkan ke ${VAR_NAME} variabel di file .bashrc.

Specifics of Certified Jelastic Containers Remote Management

Pada Jelastic PaaS, ada 2 jenis templat software stack, yang digunakan sebagai dasar ketika membuat setiap container:

  • dockerized - model template terpadu berdasarkan dukungan standar Docker asli dengan prinsip manajemen dan fungsionalitas container yang umum untuk semua jenis server (yaitu terlepas dari apakah itu menghitung node, atau server basis data, atau instansi caching, dll). Saat terhubung ke server semacam itu melalui SSH, Anda secara otomatis mendapatkan kontrol penuh atas instansi dengan hak istimewa root yang diberikan dan dapat melakukan operasi yang diperlukan di dalam container.

  • certified software templates are based on native stack implementation, adapted by our team according to platform specifics.

Saat memasuki server semacam itu melalui SSH, Anda masuk sebagai pengguna server default. Untuk memberikan cukup kemungkinan untuk pengelolaan container yang efektif, kami telah membuat beberapa opsi tambahan tersedia untuk dijalankan di bawah akun pengguna reguler:

  • sudo sbin/service {service_name} {start|stop|restart|condrestart|status|reload|upgrade|help} - a set of commands to operate the main server process, defined with the {service_name} placeholder (where, depending on a server used, the possible values are: jetty, mysql, tomcat, memcached, mongod, postgresql, couchdb, glassfish-domain1, nginx, php-fpm and httpd)
  • sudo usr/bin/jem firewall {fwstart|fwstop} - untuk menjalankan/menghentikan firewall container masing-masing
  • sudo usr/bin/jem nscd - to control the name-service caching daemon, which stores records for the most common name server requests (like passwd, hosts, group , etc)
  • sudo sbin/service rpcbind.service - to operate with the RPC bind service, used to map user-readable names to program numbers that handle incoming RPC calls

Sebagian besar dari perintah di atas, meskipun dijalankan dalam mode sudo, tidak memerlukan memasukkan kata sandi admin root server. Ini memungkinkan Anda memanfaatkan semua fungsi container yang diperlukan, penting untuk kerja aplikasi Anda yang tepat, bahkan dengan izin akun reguler.

Conclusion

Sekarang, karena Anda tahu semua dasar-dasar yang diperlukan untuk mengelola container Anda melalui konsol, Anda dapat memanfaatkan lebih banyak fleksibilitas PaaS saat menjalankan aplikasi Anda. Get started with Jelastic Multi-Cloud at one of the certified service providers worldwide.