A+ | A - | RESET
Fixed | Wide | Full | Reset

Gumairu dot Com

If you don't know and wanna know, come and ask us. We will help you still don't know !!

  Advanced search
Welcome, Guest. Please login or register.
February 07, 2012, 12:06:48 PM

Login with username, password and session length
Pages: [1]   Go Down
Author Topic: เข้า ssh ไม่ต้องใส่ password โดยใช้ key  (Read 1059 times)
0 Members and Guests are viewing this topic.
bobby
Administrator
Full Member
*****
Offline Offline

Posts: 130


View Profile WWW Email
« on: May 02, 2010, 07:59:04 PM »

 Grin มันคือการทำ ให้เวลาเราเข้าที่ host นึงแล้วพอเรา ssh ไปอีกทีสามารถเข้าได้เลยโดยไม่ต้องใส่ password วิธีการคือเราต้องไปสร้าง key ก่อน แล้วเอามาใส่ อธิบายก็ งงแน่ๆ เพราะผมก็งง  
มายกตัวอย่างให้เห็นกันดีกว่า

Client  จะเป็นเครื่องที่เราใช้เป็น Client พอ Login เข้าเครื่องนี้แล้วอยากไป เครื่อง Server สามารถเข้า Server ได้เลยโดยไม่ต้องใส่ Password
Server เครื่อง Server ที่เราอยากเข้ามาโดยไม่ต้องใส่ Password

ขั้นตอน การทำ key นั้นไม่ยุ่งยากครับ เริ่มก็ ต้องเข้าใจนะครับว่าตัวไหน Client ตัวไหน Server จะได้ไม่ งง
ผมจะใช้ตัวย่อ C = Client และ S = Server นะครับ (C$ = command line บนเครื่อง Client , S$ = command line บนเครื่อง Server)

Code:
C$ ssh-keygen -t dsa
การสร้าง key มีทั้ง dsa , rsa เปลี่ยนเอาตามที่ชอบ ความแตกต่าง ลองหาอ่านดูใน net ครับผมก็หาผ่านๆ ไม่แน่ใจว่าอันไหนดีกว่า แต่เห็นว่าเวลาเรา ssh default มันจะสร้าง key นี้ เลยใช้อันนี้นะครับ

Quote
Generating public/private dsa key pair.
Enter file in which to save the key (/home/bobby/.ssh/id_dsa):  Enter ผ่านไปเลย
Enter passphrase (empty for no passphrase): Enter ผ่านไปเลย
Enter same passphrase again: Enter ผ่านไปเลย
Your identification has been saved in /home/bobby/.ssh/id_dsa.
Your public key has been saved in /home/bobby/.ssh/id_dsa.pub.
The key fingerprint is:
de:59:05:fe:aa:6e:15:73:2a:c7:53:0c:c1:ae:e7:92 bobby@Client
The key's randomart image is:
+--[ DSA 1024]----+
|           .o.   |
|           .o.   |
|           ..o.  |
|            +o+  |
|        S  o.*.  |
|       . .ooB.   |
|        . oB..   |
|          E..    |
|         oo.     |
+-----------------+
Enter รั่วไป 3 อันก็จะจบการสร้าง key โดยเราจะได้ไฟล์ /home/bobby/.ssh/id_dsa.pub ซึ่งเป็น key ของเครื่อง Client

Code:
C$ cd /home/bobby/.ssh
C$ ls -la
เข้าไปอยู่ใน path ที่เก็บ key เพราะเราจะต้อง copy key ไปยัง Server

Quote
-rw-------  1 bobby  bobby  672 May  3 02:14 id_dsa
-rw-r--r--  1 bobby  bobby  612 May  3 02:14 id_dsa.pub
-rw-r--r--  1 bobby  bobby  394 May  3 02:07 known_hosts
รายการใน folder .ssh

Code:
C$ sftp bobby@Server
เตรียมส่ง key ไปยัง Server ผ่าน sftp (หรือจะใช้ ftp ธรรมดาก็ได้แล้วแต่ความถนัด)

Quote
Connecting to Server...
The authenticity of host 'Server (Server)' can't be established.
DSA key fingerprint is 5c:7e:65:eb:cc:6c:1e:24:49:16:b0:6f:d7:82:f7:72.
Are you sure you want to continue connecting (yes/no)? yes  หากเข้ามาครั้งแรกก็ให้ตอบ yes
Warning: Permanently added 'Server' (DSA) to the list of known hosts.
Password: ใส่ password

Code:
sftp> put id_dsa.pub
ส่ง key จากเครื่อง Client ไปยัง Server

Quote
Uploading id_dsa.pub to /usr/home/bobby/id_dsa.pub
id_dsa.pub                                                                                                                 100%  612     0.6KB/s   00:00

Code:
sftp> exit


ขั้นต่อไปเราก็ไปทำบน เครื่อง Server
Code:
S$ ssh bobby@Client
ถาม password ก็ใส่ไปเรียบร้อย ก็ exit ออกมา เป็นการทำเพื่อให้ระบบสร้าง path,file ต่างๆ เกี่ยวกับ ssh
ถ้าเคย ssh ออกจาก Server ไปที่อื่นๆ ไม่จำเป็นต้องทำหัวข้อนี้นะครับ

Code:
S$ mv id_dsa.pub .ssh/authorized_keys
S$ chmod 755 .ssh/authorized_keys
id_dsa.pub คือ key ที่เราส่ง sftp มามันก็จะอยู่ใน home เราก็ move ไปให้ .ssh/

เสร็จแล้วครับแค่นี้ เวลาเรา
Code:
C$ ssh bobby@Server
ก็จะไม่ถาม Password แล้วครับ

***การทำแบบนี้เวลาจะใช้งานเราต้องเข้า User บนเครื่อง Client ที่สร้าง key และ ssh ไปยังเครื่อง Server ที่ user ที่เอา key ไปใส่

ตัวอย่างเพื่ออธิบายเพิ่มเติม
เราใช้ bob@Client และอยากเข้า bobby@Server ก็สร้าง key ที่ bob@Client แล้ว ส่งไฟล์ key ไปเก็บไว้ใน path ของ bobby@Server
« Last Edit: May 02, 2010, 08:54:40 PM by bobby » Logged

Pages: [1]   Go Up
Jump to:  

Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC
Corto design by Bloc | XHTML | CSS