Pengantar
Dalam posting ini, kita akan mempelajari beberapa perintah ssh dan perintah scp yang berguna dengan contoh. SSH adalah protokol yang merupakan singkatan dari Secure Shell yang merupakan alat perintah sisi klien yang digunakan untuk mengambil sesi jarak jauh sistem Linux dengan aman. Ini menggunakan metode enkripsi Simetris dan Asimetris untuk mentransfer data melalui jaringan. SSH adalah alat yang sangat direkomendasikan untuk mengambil sesi jarak jauh dari server karena ini adalah cara paling aman untuk menghubungkan server mana pun. SSH adalah pengganti alat jarak jauh tanpa jaminan yang sebelumnya digunakan seperti telnet. Nomor port SSH adalah 22. Versi SSH adalah SSH Protocol Version 1 &SSH Protocol Version 2 juga disebut sebagai SSH-1 dan SSH-2 . Perbedaan antara SSH-1 dan SSH-2 adalah SSH-2 mendukung Sertifikat Kunci Publik sedangkan SSH-1 tidak.
scp adalah utilitas baris perintah yang digunakan untuk menyalin data dari satu sistem Linux ke sistem lainnya melalui jaringan dengan aman. Seperti SSH SCP juga menggunakan nomor port 22 untuk menghubungkan dan mentransfer data melalui jaringan. SCP adalah alternatif yang bagus dan alat yang direkomendasikan untuk melawan protokol transfer data tidak aman seperti FTP, Telnet dan sangat aman untuk mentransfer data melalui jaringan karena menggunakan protokol SSH untuk mentransfer data dengan aman.
Jadi mari kita lihat beberapa perintah ssh penting dan perintah scp dengan contoh.
Saya memiliki dua Sistem Linux di lingkungan pengujian saya yaitu pc1 dan pc2, Temukan detail sistem di bawah ini.
Skenario Lingkungan Pengujian :
PC1 :
Computer Name – pc1 IP Address – 192.168.0.105
PC2 :
Computer Name – pc2 IP Address – 192.168.0.106
1. Ambil remote PC2 dari PC1 menggunakan perintah ssh
Seperti yang kita semua tahu bahwa ssh digunakan untuk mengambil remote console dari sistem Linux lain dengan aman, Jadi mari kita ambil remote console pc2 dari pc1 yang dapat Anda gunakan perintah ssh di bawah ini.
Sintaks :
# ssh username@IP Address of the Remote Computer
[root@pc1 ~]# ssh [email protected] # Take Remote of PC2 from PC1 [email protected]'s password: Last login: Thu Mar 9 09:14:34 2017 from 192.168.0.107
Remote diambil Berhasil, untuk konfirmasi periksa nama host dan Alamat IP dari sistem jarak jauh seperti yang ditunjukkan di bawah ini.
[root@pc2 ~]# hostname pc2 [root@pc2 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:01:77:E7 inet addr:192.168.0.106 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe01:77e7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:9688 errors:0 dropped:0 overruns:0 frame:0 TX packets:4695 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:11157837 (10.6 MiB) TX bytes:370245 (361.5 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:16 errors:0 dropped:0 overruns:0 frame:0 TX packets:16 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:960 (960.0 b) TX bytes:960 (960.0 b)
2. Ambil Konsol Jarak Jauh Sistem dengan Nama Pengguna yang Saat Ini Masuk
Anda dapat mengambil konsol jarak jauh dari sistem dengan nama pengguna yang saat ini masuk. Misalnya, di sini di pc1 saya login menggunakan nama pengguna "root" dan saya ingin mengambil sesi jarak jauh dari mesin pc2 menggunakan nama pengguna yang sama yaitu "root" maka kita dapat menggunakan perintah di bawah ini.
[root@pc1 ~]# ssh 192.168.0.106 # Take Remote using currently logged in username [email protected]'s password: Last login: Thu Mar 9 09:08:54 2017 from 192.168.0.107 [root@pc2 ~]# hostname pc2
3. Keluar dari Konsol Jarak Jauh
Untuk keluar dari konsol jarak jauh yang sudah diambil, gunakan perintah logout. Lihat contoh keluaran di bawah ini.
[root@pc2 ~]# logout # Logout from already taken remote console Connection to 192.168.0.106 closed.
4. Periksa Versi Paket ssh yang Terinstal
Untuk memeriksa versi paket ssh yang terinstal saat ini, gunakan perintah ssh dengan opsi -V . Lihat contoh keluaran di bawah ini.
[root@pc1 ~]# ssh -V # check the currently installed ssh package version OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
5. Salin data dari satu Sistem Linux ke yang lain melalui Jaringan menggunakan perintah scp
Untuk menyalin data dari satu sistem linux ke yang lain kita dapat menggunakan perintah scp. Di sini saya menyalin data yaitu touch.txt file dari pc1 ke pc2. Lihat contoh keluaran di bawah ini.
[root@pc1 ~]# touch text.txt # Create a Sample text File [root@pc1 ~]# ls anaconda-ks.cfg Documents install.log.syslog Public Videos data Downloads Music Templates Desktop install.log Pictures text.txt [root@pc1 ~]# scp text.txt [email protected]:/root/Desktop/ # Copy data from Local System to Remote System [email protected]'s password: text.txt 100% 0 0.0KB/s 00:00
6. Unduh/Salin Data dari Sistem Jarak Jauh menggunakan Perintah SCP
Untuk menyalin data dari sistem jarak jauh ke sistem lokal Anda dapat menggunakan perintah di bawah ini. Disini saya mengcopy data dari pc2 ke pc1.
[root@pc1 ~]# scp [email protected]:/data/database.txt /root/ # Copy Data from Remote System to Local using scp Command [email protected]'s password: database.txt 100% 0 0.0KB/s 00:00 [root@pc1 ~]# ls anaconda-ks.cfg Desktop install.log Pictures text.txt data Documents install.log.syslog Public Videos database.txt Downloads Music Templates
7. Salin data dari Sistem Jarak Jauh ke Sistem Lokal Secara Rekursif
Untuk menyalin direktori dengan semua kontennya secara rekursif, Anda dapat menggunakan perintah scp dengan opsi -r . Lihat Contoh Output di bawah ini. Di sini saya menyalin direktori yaitu data dari sistem jarak jauh yaitu pc2 ke sistem lokal yaitu pc1.
[root@pc1 ~]# scp -r [email protected]:/data /root/Desktop/ # Copy directory Recursively [email protected]'s password: database.txt 100% 0 0.0KB/s 00:00 [root@pc1 ~]# cd /root/Desktop/ [root@pc1 Desktop]# ls data [root@pc1 Desktop]# ls data/ database.txt [root@pc1 Desktop]#
8. Salin data dari Sistem Lokal ke Sistem Jarak Jauh Secara Rekursif menggunakan perintah scp
Untuk menyalin direktori dengan semua kontennya secara rekursif dari sistem lokal ke sistem jarak jauh, Anda dapat menggunakan perintah scp dengan opsi -r . Lihat contoh keluaran di bawah ini.
[root@pc1 ~]# ls apps/ test1.txt test2.txt test3.txt test4.txt test5.txt [root@pc1 ~]# scp -r apps/ [email protected]:/root # Copy directory Recursively from Local System to Remote System [email protected]'s password: test2.txt 100% 0 0.0KB/s 00:00 test1.txt 100% 0 0.0KB/s 00:00 test4.txt 100% 0 0.0KB/s 00:00 test5.txt 100% 0 0.0KB/s 00:00 test3.txt 100% 0 0.0KB/s 00:00
9. Hubungkan dan Jalankan Perintah Secara Bersamaan di Sistem Jarak Jauh menggunakan Perintah SSH
Anda dapat mengambil sesi jarak jauh dari server dan menjalankan perintah secara bersamaan. Sebagai Contoh, di sini saya mengambil remote sistem pc2 dan menjalankan perintah yaitu ifconfig. Lihat contoh keluaran di bawah ini.
[root@pc1 ~]# ssh 192.168.0.106 "ifconfig" # take remote and run a command simultaneously [email protected]'s password: eth0 Link encap:Ethernet HWaddr 00:0C:29:01:77:E7 inet addr:192.168.0.106 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe01:77e7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:9870 errors:0 dropped:0 overruns:0 frame:0 TX packets:4845 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:11182999 (10.6 MiB) TX bytes:393576 (384.3 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:18 errors:0 dropped:0 overruns:0 frame:0 TX packets:18 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1058 (1.0 KiB) TX bytes:1058 (1.0 KiB)
10. Ambil Jarak Jauh Sistem dengan Nama Pengguna Berbeda menggunakan perintah ssh
Untuk mengambil jarak jauh dari sistem dengan nama pengguna yang berbeda, Anda dapat menggunakan perintah ssh dengan opsi -l . Lihat Output di bawah ini.
[root@pc1 Desktop]# ssh -l root 192.168.0.106 # Take remote using different username [email protected]'s password: Last login: Fri Mar 10 08:54:59 2017 from 192.168.0.107
11. Salin File &Direktori Tersembunyi menggunakan perintah scp.
Untuk menyalin file dan direktori tersembunyi Anda dapat menggunakan perintah ssh dengan opsi -rp . satu hal yang perlu diingat bahwa selama menyalin file dan direktori tersembunyi menggunakan perintah scp selalu letakkan . (titik) di akhir jalur misalnya “scp -rp /root/.“.
[root@pc1 ~]# scp -rp /root/. [email protected]:/hidden # Copy hidden files and directories using scp command [email protected]'s password: .gtk-bookmarks 100% 107 0.1KB/s 00:00 .bashrc 100% 176 0.2KB/s 00:00 .bash_logout 100% 18 0.0KB/s 00:00 .bash_profile 100% 176 0.2KB/s 00:00 database.txt 100% 0 0.0KB/s 00:00 .bash_history 100% 3327 3.3KB/s 00:00 database.txt 100% 0 0.0KB/s 00:00 profiles.ini 100% 104 0.1KB/s 00:00 . . . home-2f9509b7.log 100% 32KB 32.0KB/s 00:00 addressbook.db 100% 12KB 12.0KB/s 00:00 addressbook.db.summary 100% 86 0.1KB/s 00:00 .ICEauthority 100% 1244 1.2KB/s 00:00 [root@pc1 ~]# ssh 192.168.0.106 [email protected]'s password: Last login: Fri Mar 10 08:56:14 2017 from 192.168.0.107 [root@pc2 ~]# ls -a /hidden/ . data .gnote Pictures .. database.txt .gnupg Public anaconda-ks.cfg .dbus .gtk-bookmarks .pulse apps Desktop .gvfs .pulse-cookie .bash_history Documents .ICEauthority .ssh .bash_logout Downloads install.log .tcshrc .bash_profile .esd_auth install.log.syslog Templates .bashrc .gconf .local text.txt .cache .gconfd .mozilla Videos .config .gnome2 Music .cshrc .gnome2_private .nautilus