GNU/Linux >> Belajar Linux >  >> Linux

11 Perintah "ssh" dan "scp" yang berguna di Linux

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


Linux
  1. Perintah Nginx Paling Berguna di Sistem Linux

  2. 10 perintah YUM yang berguna di Linux

  3. Perbedaan antara perintah 'ifconfig' dan 'ip'

  1. Cara Menonaktifkan Perintah Shutdown dan Reboot di Linux

  2. Pelajari Perbedaan Antara Perintah "su" dan "su -" di Linux

  3. Perintah Linux - Gambaran Umum dan Contoh

  1. Buat koneksi SSH antara Windows dan Linux

  2. Perintah Linux:pekerjaan, bg, dan fg

  3. Perintah reboot dan shutdown Linux