Anda di halaman 1dari 11

KONFIGURASI INSTALASI SSH, SCP DAN SFTP

TUJUAN PEMBELAJARAN
1.Mahasiswadapatmemahami penggunaanservicesecureshell,securecopydan
secure ftp pada sistem operasi unix/linux.
2.Mahasiswamampumelakukaninstalasidankonfigurasisshuntukmeningkatkan
keamanan data.
3.Mahasiswamemahamikelebihanpenggunaansecureshelldibandingservicetelnet,
ftp dan perintah remote lainnya.

SSH
SecureShell(ssh)adalahsuatuprotokolyangmemfasilitasisistemkomunikasiyang
aman diantara dua sistem yang menggunakan arsitektur client/server, serta
memungkinkanseoranguseruntukloginkeserversecararemote.Berbedadengan
telnetdanftpyangmenggunakanplaintext,SSHmengenkripsidataselamaproses
komunikasi sehingga menyulitkan penyusup/intruder yang mencoba mendapatkan
passwordyangtidakdienkripsi.Fungsiutamaaplikasiiniadalahuntukmengakses
mesinsecararemote.Bentukakses remote yangbisadiperolehadalah aksespada
mode teks maupun mode grafis/X apabila konfigurasinya mengijinkan.
SSH dirancang untuk menggantikan serviceservice di sistem unix/linux yang
menggunakan sistem plaintext seperti telnet, ftp, rlogin, rsh, rcp, dll). Untuk
menggantikan fungsi ftp dapat digunakan sftp (secure ftp), sedangkan untuk
menggantikan rcp (remote copy) dapat digunakan scp (secure copy).
DenganSSH,semuapercakapanantaraserverdankliendienkripsi.Artinya,apabila
percakapantersebutdisadap,penyadaptidakmungkinmemahamiisinya.Bayangkan
seandainyaAndasedangmelakukanmaintenanceserverdarijauh,tentunyadengan
accountyangpunyahakkhusus,tanpasetahuAnda,accountdanpasswordtersebut
disadap orang lain, kemudian server Anda dirusak setelahnya.
ImplementasiSSHyangbanyakdipakaisaatiniadalahOpenSSH,aplikasiinitelah
dimasukkan kedalam berbagai macam distribusi linux.

Langkahlangkahnya kayak gini :

1. Install dulu paket ssh, caranya :

sudo aptget install ssh

ket : sebenarnya dengan satu perintah ini ssh udah bisa jalan, tapi kita coba
konfigurasinya

2. Buka file sshd_config

sudo nano/etc/ssh/sshd_config

3. Cari tulisan
Port 22

Ganti dengan :

Port 2222

Ket:inidimaksudkanagarportsshkitandakgampangditebakorang,kamubisapake
portsesuaikebutuhankamuajayaa^_^port2222adalahpemisalanaja,kamubisa
pake yang laen angkanya suka2..

4. Lalu cari juga tulisan :

PermitRootLogin yes

Ganti garang..sama :

PermitRoot no

Ket:iniagaroranglaenndakbisakoneklangsungkeaksesroot,jadiharuslewatuser
biasa dulu.

5. Simpan dengan menekan :

Ctrl+x tekan y kemudian enter

PS : tadi kan kita di nano !!

Tes hasil konfigurasi :

1.Cobabukaprogramputtydenganmeremotecomputerserverpakeportbiasa(22),
maka proses remote akan gagal.

2.Cobabukaprogramputtydenganlangsungmasukkerootnya.Makaprosesgagal
jua tuh.

Sebagai contoh program :


Nahluu..yangkeduanikitabahassoalSCP..hahaSamarindaCentralPlazaeeehhh
bukaan garang ae..wkwkwk

SCP
Adalahalatyangpalingbergunauntukmeremotecopy.Inipilihanyanglebihbaik
daripadarcpkarenainimenggunakanenkripsisepertihalnyaprogramssh.Faktanya,
inimenggunakansshuntukdatatransferauthentikasi.Ituartinyakamupastibutuh
menyediakan nama login dan password dari computer tujuan. Untuk memulai
menggunakan Linux program scp, mari kita lihat pda bagian terpenting, perintah
syntax atau format perintahnya.

Syntax perintah Linux scp ini untuk mengirim file atau directory ke computer
remote :

scp r [/path/filename] [login name@ip address] : .

SyntaxperintahLinuxscpkembali kefileataudirectorydaricomputerremote:

Scp r [login name@ip address] : [/path/filename] .

Berikut arti dari perintah scp :

r = mengkopi ulang semua directory

. = directory tertentu

/path/filename adalah path directory lengkap dan nama dimana file terletak

loginname@ipaddressadalahcomputertarget/tujuan.Kamuharusmenyediakan
nama login dan ip address dan akan diminta untuk password.
Dot(.)padaakhircommandberartifilefileakandicopykedirectorytertentu.Tentu
kamubisangerubahtujuannyakebeberapadirectoryyangkamumau,tinggalketik
full path dan nama directory untuk menempatkan tanda dot (.) atau titik itu.

Kamubisamencarilebihdetailpadahalamanscpmanualdenganapatuuuketikaja
deehmanscpgitu,ehjanganpaketandapetiknyaya..hehetudiketikdariterminal
Linux,yangdirekomendasikan,jikakamubisasedikitnyabacalahsesekaliuntuklebih
memahami commandnya.

Nahsekarang kamu benerbener udah mabokk eeehhh kok maboookkngerti


gimana command scp bekerja ? ngerti kan kan kan ? ^_^v ayook lihat beberapa
contoh sebenarnya dari Ubuntu client.

Yang pertama ini kita kirim file dulu dah pake scp .. yaaeeyy ^_^

Contoh command scp di atas aku mengirim nama file UserManual.pdf dari
computerku ke computer remote dengan sebuah alamat ip 192.168.1.6. File
UserManual.pdf harus ada dalam home directory kita. Jika tidak, tolong sediakan
directory path yang lengkap. File akan tersimpan di luzars home directory. Aku
menspesifikanuseryangakumaudenganlogin(ingatbahwakitaharusmenyediakan
username yang valid dan password) dan enter passwordnya setelah itu.

Berikut contoh bagaimana cara mengembalikan file dari computer remote


menggunakan command scp di Linux. Saat ini kita menggunakan remote server
hostname :

Contohperintahscpdiatasmenunjukkanbahwakitatelahmengembalikannamafile
netfilter.pdfdaricomputerremotedengansebuahalamatip192.168.1.6.Ingatbahwa
saat ini kita menggunakan full directory path ke file yang mau kita dapat.

Kitajugamenggunakancommandscpuntukmentransferbanyakfilesesekaliuntuk
computerremote.Perhatikancontohdibawahini:

Kitajugabisamenggunakanwildcarddengancommandscpseperti*untuk
mengkopifile.Jikakamumengkopiseluruhdirectoryitulebihbaik,berikutcontoh
daricommandscpyangdigunakanuntukmentransfersebuahdirectoryke
Kitamenggunakanscprpadacontohdiatasuntukmengulangikopiansebuahfolder
directory.

Kitajugabisamenggunakancommandscpuntukmentransferfiledirectoryke
computerLinuxlainnyamenggunakansystemoperasiWindows.Puttykeloginuntuk
serverLinuxdangunakanscpuntukmengkopiataufiledirectorykesebuahcomputer
remote(computerLinux)kayakcontohdiatasajadahgan..hehe

Wellfinally,jikauntukbeberapaalasankamuharusuninstallscpdariserver
Ubuntu,kamubisalakuindenganmeremovepaketssh.Kamubisamenggunakanapt
getremovesshatauaptgetpurgessh.Kamujugabisamenggunakanautoremove
kayakcontohdibawahini:

Hmmmmhhmaboknda??hehehejangandlumameen,theroadnotfinishyet

Tutadihampersemuaudaakujelasintentanggimanainstallandkonfigurasiscp,
perludipahamijugacommandscpadalahuntukmentransfersuatufiledirectoryke
computerremote..halnisamakayakprotocolftp..malahscptupilihansempurna
untukmentransfersebuahfilepentingkarenascptumendukungenkripsidatanya.

SFTP
Perintahperintahberikutiniakanberhubungandenganservicesftp.Jikaandaduduk
dikiri,ketiklahperintahberikutini.Jikaandaduduksebelahkanan,sesuaikandengan
perintahsejenis.

#hostnamecatatnamahostnya
#suluserkirimenggantiuser
$pwdhomedir.userkiri
$whoami
#sftppckanan
userkiri@pckanan'spassword:*******
Lastlogin:WedMay508:46:132004
sftp>whoami
sftp>fingeradaberapaorangyanglogin?
sftp>hostnameskrandaadadimana?
sftp>pwddimanahomedirektoryanda?
sftp>exit
$hostnamekembalikepcasal
Mencobauploaddandownloadfile
PertamabuatlahbeberapafilediPCanda,laluuploadkePCsebelahmenggunakan
perintahsftp.

$cd
$hostname>namapcku
$whoami>loginku
$echo$HOME>homedirku
$mkdirdataku
$cp/etc/g*/home/dataku
$lsl
#sftpuserkiri@pckanan
userkiri@pckanan'spassword:*******
sftp>?baca&pelajarihelpnya
sftp>mput*uploadfile
sftp>lpwdlocaldir.
sftp>llslocalls
sftp>lcddatakucddatakudilocalpc
sftp>lpwdlocalpwd
sftp>mkdirdatakuremotebuardirbarudiremotepc
sftp>cddatakuremote
sftp>mput*uploadsemuafiledidataku(localpc)
kedatakuremote(remotepc)
sftp>lslsdiremotepc
sftp>pwdpwddiremotepc
sftp>llslsdilocalpc
sftp>lpwdpwdlocalpc
sftp>cd/etc
sftp>ls
sftp>lmkdirhasildownload
sftp>lcdhasildownload
sftp>mgetpasswd*downloadfile
sftp>mgetgroup*
sftp>mgethost*
sftp>ls
sftp>lls
sftp>bye
$hostnamekembalikepcasal

Note:

1.Bilamasihbelumbisakoneksshanda,cobaceklist/etc/hosts.deny.Hapusdari
daftarhosts.denybilaada.
2.Jikamasihbelumkonek,tambahkanbarisinipada/etc/hosts.allow:
ALL:/:allow
contoh:
ALL:10.1.1.1/255.255.255.248:allow

CaraKerjaFTPServer,Instalasidan
Konfigurasivsftpd
26MEI
KaliinisayaakanmembahasbagaimanacaramembangunFTPServersendiridi
Linux.DalamhalinidistroyangsayagunakanyaituUbuntu,namunsemua
konfigurasitidakjauhberbedadengandistrolainnya.Sebelummenujutahapinstalasi,
sayaakanterangkansedikitapakahFTPServeritu?

Merujukpadawikipedia,FTP(FileTransferProtocol)adalahsebuahprotokol
Internetyangberjalandidalamlapisanaplikasiyangmerupakanstandaruntuk
pentransferanberkas(file)komputerantarmesinmesindalamsebuahinternetwork.
Protokolinimasihdigunakanhinggasaatiniuntukmelakukanpengunduhan
(download)danpenggugahan(upload)berkasberkaskomputerantaraklienFTPdan
serverFTP.SebuahserverFTPdiaksesdenganmenggunakanUniversalResource
Identifier(URI)denganmenggunakanformatftp://namaserver.KlienFTPdapat
menghubungiserverFTPdenganmembukaURItersebut.

Untukprosesnyadapatdilihatdarigambarberikutini:

carakerjaftpserverCaraKerjaFTPServer,InstalasidanKonfigurasivsftpd
Sebelummembuatkoneksi,portTCPnomor21disisiserverakanmendengarkan
percobaankoneksidarisebuahklienFTPdankemudianakandigunakansebagaiport
pengatur(controlport)untuk(1)membuatsebuahkoneksiantarakliendanserver,(2)
untukmengizinkanklienuntukmengirimkansebuahperintahFTPkepadaserverdan
juga(3)mengembalikanresponsserverkeperintahtersebut.Sekalikoneksikontrol
telahdibuat,makaserverakanmulaimembukaportTCPnomor20untukmembentuk
sebuahkoneksibarudenganklienuntukmentransferdataaktualyangsedang
dipertukarkansaatmelakukanpengunduhandanpenggugahan.

FTPhanyamenggunakanmetodeautentikasistandar,yaknimenggunakanusername
danpasswordyangdikirimdalambentuktidakterenkripsi.Penggunaterdaftardapat
menggunakanusernamedanpasswordnyauntukmengakses,mendownload,dan
menguploadberkasberkasyangiakehendaki.Umumnya,parapenggunaterdaftar
memilikiaksespenuhterhadapbeberapadirektori,sehinggamerekadapatmembuat
berkas,membuatdirektori,danbahkanmenghapusberkas.Penggunayangbelum
terdaftardapatjugamenggunakanmetodeanonymouslogin,yaknidengan
menggunakannamapenggunaanonymousdanpasswordyangdiisidengan
menggunakanalamatemail.

Instalasivsftpd

DenganasumsibahwaAndatelahmenginstalUbuntu,masukketerminalkemudian
jalankanperintah:

$sudoaptgetinstallvsftpd

Tungguhinggaselesaikemudianjalankanperintah:

$sudo/etc/init.d/vsftpdstart

UntukmenjalankanFTPserver

Konfigurasivsftpd

Filekonfigurasinyaterletakdi/etc/vsftpd.confuntukmembukanyajalankanperintah:

$sudonano/etc/vsftpd.conf

Bilaandainginuseranonymousdapatmenggunakanftp,tambahkanataueditbarisini
:

anonymous_enable=YES

Sebaliknyabilaandatidakinginuseranonymousdapatmenggunakanftp,ubahnilai
barisdiatasmenjadiNOsepertidibawahini:

anonymous_enable=NO
Bilaandainginlokaluser(userpenggunakomputernamunbukanrootuser)dapat
loginmenggunakanftpprotokol,tambahkanataueditbarisini:

local_enable=YES

Sebaliknyabilaandainginlokaluser(userpenggunakomputernamunbukanroot
user)tidakdapatloginmenggunakanftpprotokolubahnilaibarisdiatasmenjadiNO.

Bilaandainginmengubahrootdirectorydariuseranonymous(defaultroot
directorynyaadadi/home/ftp),tambahkanataueditbarisini:

anon_root=

Bilainginmemberikanpesanselamatdatang,tambahkandaneditbarisini:

ftpd_bannerpesanselamatdatang

Membatasijumlahklien,tambahkandaneditbarisini:

max_clientjumlahmaksimumklien

MembatasijumlahkliendenganIPyangsama,tambahkandaneditbarisini:

max_per_ipjumlahmaksimumklienperIP

MengunciFTPuserdidirektorihome,tambahkandaneditbarisberikut:

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

Untukfile/etc/vsftpd/chroot_listtambahkanbilatidahada.Denganbegitusemuaftp
rootdirectorytiaplocaluseradadihomedirectorymasingmasinguser.Jikaanda
inginmembuatpengecualianuntukusertertentuagarrootdirectorynyatetapberadadi
/andadapatmenuliskannamausertersebutdifile/etc/vsftpd/chroot_list.

Namunjikaandainginagarhanyausertertentusajayangftprootdirektorinyapindah
kehomedirektorimasingmasingandadapatmengubahparamaterbaris
chroot_local_usermenjadiNOsepertiinichroot_local_user=NOlalumenuliskanuser
yangingindipindahrootdirektorinyakedalamfile/etc/vsftpd/chroot_list.

BEDATELNETDANSSH
Penggunaantelnetuntukmelakukanloginjarakjauh(remotelogin)
memungkinkanterjadinyapelanggaranprivacydanpencurianpassword.Halini
dimungkinkankarenatelnettidakmenggunakanenkripsi.Penyadapandapat
dilakukandenganmenggunakanaplikasisniffer(misalnyasnifit)dengancara
mendengarinformasiinformasiyanglewat.SSHdapatdipakaiuntukmengatasihal
inikarenaSSHmenggunakanenkripsi.

AdabeberapaimplementasiSSHini,antaralain:

sshuntukUNIX(dalambentuksourcecode,gratis,
mengimplementasikanprotokolSSHversi1danversi2)
SSHuntukWindows95dariDataFellows(komersial,sshversi1dan
versi2)
TTSSH,yaituskripyangdibuatuntukTeraTermPro(gratis,untuk
Windows95,sshversi1)
SecureCRTuntukWindows95(shareware/komersial)
putty(SSHuntukWindowsyanggratis,sshversi1).Selain
menyediakanssh,paketputtyjugadilengkapidenganpscpyang
mengimplementasikansecurecopysebagaipenggantiFTP.

Telnet

Telnetdigunakanuntukmelakukanloginsecararemotedaritempat/komputer
lainmelaluijaringan(denganhubunganTCP/IPmenggunakanport23).Dengan
menggunakantelnetmakakitaseolaholahberadadidepankomputeryangkita
inginkan/kitatuju.Kitaakanmelakukanprosedursamasepertijikamelakukanlogin
secaralokalyaitumengisinamalogindanpassword.Syaratyangharusdipenuhi
cukupsederhanayaitukomputerclienharussudahterinstalaplikasitelnetdan
komputerserverharusterinstalaplikasitelnetdantelnetserver.Salahsatuyang
menjadipermasalahanpenggunaanapplikasitelnetadalahkurangterjaminnya
keamanankarenainformasitentanguseriddanpasswordinidikirimkanmelalui
jaringankomputersecaraterbuka/plaintexttanpaenkripsi.Akibatnyaada
kemungkinanseorangyangnakalmelakukansniffingdengansoftwaresnifferdan
mengumpulkaninformasitentangpasanganuseriddanpasswordini.Meskipuncara
inibiasanyamembutuhkanaksesrootadabaiknyakitamenghindarihaltersebut,
denganmendisablefasilitastelnetmisalnya.

SSH
Enkripsidapatdigunakanuntukmelindungiadanyasniffing.Salahsatuaplikasi
yangdigunakanuntukremotelogindenganenkripsiadalahSSH.Paketyang
dikirimkandenganSSHakandienkripsidenganRSAatauIDEAsehinggatidak
dapatdibaca/dimengertiisinyaolehoranglainngyangtidakberhak.Beberapa
implementasiSSHini,antaralain:sshuntukUNIX(dalambentuksourcecode,
gratis),putty,SSHuntukWindowsdariDataFellows(komersial)
http://www.datafellows.com/,TTSSH(skripyangdibuatuntukTeraTermPro(gratis,
untukWindows)),SecureCRTuntukWindows(shareware/komersial).
SSHdalamenkripsinyamenggunakanmetodepublickeycryptography.Dengan
metodeini,kitaakanmemerlukan2buahkunciberbedayangdigunakanbaikuntuk
melakukanenkripsidandekripsi.Duabuahkuncitersebutmasingmasingdisebut
publickey(dipublikasikankepublik/oranglain)danprivatekey(dirahasiakan/hanya
pemiliknyayangtahu).Masingmasingkuncidiatasdapatdigunakanuntuk
melakukanenkripsidandekripsi.