Tìm hiểu và sử dụng telnet và ssh



SSH và Telnet là gi?

Nếu là một người từng dùng unix & linux thì cái này không có gì lạ với họ, nhưng ở đây nói đến đề tài này nhằm mục đích trao đổi với các webmaster nào chưa quen và biến đến chúng và chúng có thể giúp ích được gì trong công việc làm web.

SSH và telnet là một chương trình để nối trực tiếp và một máy trạm (virtual machine) từ bất kỳ nơi đâu để sử dụng, điều chỉnh, thay đổi thông tin, file và dữ liệu. Công việc này cũng giống như bạn ngồi đối diện với máy trạm đó nhưng lại không cho thấy giao diện (GUI) mà phải sử dụng lệnh gõ trên bàn phím. Nếu bạn thông thạo nhưng lệnh trên bàn phím của máy đó bạn có thể làm tất cả mọi việc giống như bạn đang ngồi đối việc với chúng qua cách nối vào với chương trình ssh và telnet.

SSH và Telnet khac nhau ở chỗ nào?
Ở đây không ban sâu về khía cạnh này, chỉ nói đơn giản còn nếu sau này bạn thành thạo rồi thì sẽ tự tìm hiểu riêng. Khi dùng telnet nối vào máy trạm, thì những dữ liệu gởi qua đường truyền không được bảo mật còn với ssh thì tất cả dữ liệu (data) sẽ được encryp lại. Ngoài hai mục đính chính đó ra thì các phương pháp và lệnh sử dụng đều giống nhau.

Làm sao mới dùng được SSH và Telnet?

Nếu bạn dùng windows 9x trở đi bạn đều có thể dùng telnet từ màn ảnh DOS prompt... Còn với SSH thì trong Windows không có sẳn vì vậy bạn phải dùng một trình thứ ba (third party software) mới có thể sử dụng được. Trình SSH thì rất nhiều trên internet; tốn tiền có, miễn phí có, và đây là những trình ssh được ưa chuộng và sử dụng rộng rãi nhất :

SecureCRT - Rất là tốt, bảo đảm và nhiều guru dùng, nhưng lại tốn tiền.
F-Secure SSH client!
PuTTY - miễn phí và cũng thông dụng 

Uha thường hày dùng SecureCTR vì là hãng mua bản quyền để cài trên laptop vào những khi đi field mà không thể dùng sun box thì dùng nói nối vào, nhưng gần đây lại đổi sang PuTTy vì nó rất nhẹ nhàng và thích cái màn ảnh của nó.

Nếu bạn sống ở VN thì nên dùng PuTTY, file rất nhỏ vậy khi download chúng xuống máy cũng lẹ hơn và cách dùng cũng rất là dễ. Bạn có thể donwload PuTTY tại đây và xem hướng dẫn cách dùng tổng quát tại đây
http://www.jfitz.com/tips/putty_config.html

Một số lệnh Unix/Linux thông dụng cho webmaster khi dùng qua SSH (telnet)

cd - đổi từ tập hồ sơ (folder) này sang tập hồ sơ khác (cách dùng giống như trong DOS)

pwd - lệnh này thông báo cho biểt bạn hiện đang ở nơi đâu, tập hồ sơ nào.

ls - lệnh này dùng để liệt kê tất cả các file, lệnh còn có tùy chọn như : ls -a (liệt tất cả các files ngay cả file ẩn), ls -l (liệt và xếp dạng file dài đủ tri tiết) và thông dụng là ls -la.

cat - dùng để xem và đọc một file. (vd: cat file.txt)

mkdir - tạo tập hồi sơ mới (vd: mkdir new_folder)

rmdir - xóa một tập hồ sơ (vd: rmdir folder)

cp - sao một file hoặc một folder mới từ một file (folder) gốc 

mv - chuyển một file (folder) sang một tên mới (hoặc nơi chốn mới)

rm - xóa file và folder (vi: rm file, rm -arf folder)

grep - tìm một chữ hoặc một hàng trong một file (vd: grep "viet" file.php)

tar - nén file hoặc bung files từ một gói nén file ( file.tar), (vd: tar -xvf files.tar)

zip - gọi lại một file (folder) qua dạng zip... (vd: zip backup.zip file.php)

unzip - để bung gói gói file với dạng zip (vd: unzip -aL file.zip)

./foo - Cho thực thi foo, có trong thư mục hiện hành 
adduser - Thêm một người dùng vào hệ thống (phải là root)
grep -i bar foo - Tìm chuỗi "bar" (không phân biệt chữ HOA / chữ thường) trong file văn bản foo 
less foo - Hiển thị nội dung file văn bản foo ([Space] để sang trang màn hình kế tiếp, b để quay trở lại trang trước, q để thoát) Chú ý rằng lệnh lọc (filter) more cũng làm việc trong Linux
mc - Midnight Commander, một dịch vụ shell kiểu Norton Commander dành cho UNIX 
mount - "Gắn" một thiết bị (chẳng hạn CD-ROM) vào hệ thống file; umount để "tháo" thiết bị ra khỏi hệ thống. 
reboot - Khởi động lại hệ thống 
startx - khởi động hệ giao diện X Window 
xf86Config - thiết lập / cấu hình sơ khởi cho X (trong Xterm)
Xconfigurator - một công cụ cấu hình X khác dùng trong Xterm 
xf86Setup - một công cụ cấu hình X có giao diện X Window 
configX - cấu hình dịch vụ Metro X
psswd - thay đổi password của người sử dụng

tail : like cat, but only reads the end of the file
tail /var/log/messages : see the last 20 (by default) lines of /var/log/messages
tail -f /var/log/messages : watch the file continuously, while it's being updated 
tail -200 /var/log/messages : print the last 200 lines of the file to the screen

more : like cat, but opens the file one screen at a time rather than all at once 
more /etc/userdomains : browse through the userdomains file. hit to go to the next page, to quit

pico : friendly, easy to use file editor
pico /home/burst/public_html/index.html : edit the index page for the user's website.

vi : another editor, tons of features, harder to use at first than pico
vi /home/burst/public_html/index.html : edit the index page for the user's website.

grep : looks for patterns in files 
grep root /etc/passwd : shows all matches of root in /etc/passwd
grep -v root /etc/passwd : shows all lines that do not match root

touch : create an empty file 
touch /home/burst/public_html/404.html : create an empty file called 404.html in the directory /home/burst/public_html/

ln : create's "links" between files and directories
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf : Now you can edit /etc/httpd.conf rather than the original. changes will affect the orginal, however you can delete the link and it will not delete the original.

rm : delete a file
rm filename.txt : deletes filename.txt, will more than likely ask if you really want to delete it
rm -f filename.txt : deletes filename.txt, will not ask for confirmation before deleting.
rm -rf tmp/ : recursively deletes the directory tmp, and all files in it, including subdirectories. BE VERY CAREFULL WITH THIS COMMAND!!!

last : shows who logged in and when
last -20 : shows only the last 20 logins 
last -20 -a : shows last 20 logins, with the hostname in the last field

w : shows who is currently logged in and where they are logged in from.

netstat : shows all current network connections.
netstat -an : shows all connections to the server, the source and destination ips and ports.
netstat -rn : shows routing table for all ips bound to the server.

top : shows live system processes in a nice table, memory information, uptime and other useful info. This is excellent for managing your system processes, resources and ensure everything is working fine and your server isn't bogged down.
top then type Shift + M to sort by memory usage or Shift + P to sort by CPU usage

ps: ps is short for process status, which is similar to the top command. It's used to show currently running processes and their PID.
A process ID is a unique number that identifies a process, with that you can kill or terminate a running program on your server (see kill command).
ps U username : shows processes for a certain user
ps aux : shows all system processes
ps aux --forest : shows all system processes like the above but organizes in a hierarchy that's very useful!

file : attempts to guess what type of file a file is by looking at it's content. 
file * : prints out a list of all files/directories in a directory

du : shows disk usage.
du -sh : shows a summary, in human-readble form, of total disk space used in the current directory, including subdirectories.
du -sh * : same thing, but for each file and directory. helpful when finding large files taking up space.

wc : word count
wc -l filename.txt : tells how many lines are in filename.txt

cp : copy a file 
cp filename filename.backup : copies filename to filename.backup
cp -a /home/burst/new_design/* /home/burst/public_html/ : copies all files, retaining permissions form one directory to another.

kill: terminate a system process
kill -9 PID EG: kill -9 431
kill PID EG: kill 10550
Use top or ps ux to get system PIDs (Process IDs)

EG:

PID TTY TIME COMMAND
10550 pts/3 0:01 /bin/csh
10574 pts/4 0:02 /bin/csh
10590 pts/4 0:09 APP

Each line represents one process, with a process being loosely defined as a running instance of a program. The column headed PID (process ID) shows the assigned process numbers of the processes. The heading COMMAND shows the location of the executed process.

Putting commands together
Often you will find you need to use different commands on the same line. Here are some examples. Note that the | character is called a pipe, it takes date from one program and pipes it to another.
> means create a new file, overwriting any content already there.
>> means tp append data to a file, creating a newone if it doesn not already exist.
< send input from a file back into a command.

grep User /usr/local/apache/conf/httpd.conf |more 
This will dump all lines that match User from the httpd.conf, then print the results to your screen one page at a time.

last -a > /root/lastlogins.tmp 
This will print all the current login history to a file called lastlogins.tmp in /root/

tail -10000 /var/log/exim_mainlog |grep domain.com |more
This will grab the last 10,000 lines from /var/log/exim_mainlog, find all occurances of domain.com (the period represents 'anything',
-- comment it out with a so it will be interpretted literally), then send it to your screen page by page.

netstat -an |grep :80 |wc -l
Show how many active connections there are to apache (httpd runs on port 80)

mysqladmin processlist |wc -l
Show how many current open connections there are to mysql

Post a Comment

أحدث أقدم