banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Không ssh được  XML
  [Question]   Không ssh được 18/01/2010 21:51:02 (+0700) | #1 | 203518
eyestv
Member

[Minus]    0    [Plus]
Joined: 09/05/2008 13:55:20
Messages: 67
Offline
[Profile] [PM]
Server: CentOS, OpenSSH
Client: Win XP

Ở client em dùng puttygen tạo ra 1 cặp khóa:
- public_key (khóa riêng)
- public_key.ppk (khóa công khai)

Trên server em tạo file /root/.ssh/authorized_keys rồi thiết lập quyền cho nó:

Code:
# chmod 600 root/.ssh/authorized_keys


Em copy nội dung của public_key trên client vào trong file authorized_keys (lúc này còn trống).

Nội dung file public_key:

Code:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20100117"
AAAAB3NzaC1yc2EAAAABJQAAAIB6d7bofD9yLY4IzKI5wUH0PpaDQ1auLpijC1NZ
J3bzgNQVRADzno4p0e8uNDF98EsBoig2IF8ObCEzz+cmFThJAZkbNmPMdDDvvV4J
euvQnMfxkA9VdDzwnKPQFxU0sZDU8fpvGplRSQWu4Sl8Ml7utPo+vUndLINSmAWT
p3yP+w==
---- END SSH2 PUBLIC KEY ---
-

Trong /etc/ssh/sshd_config em cấu hình như sau:

Code:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile /root/.ssh/authorized_keys
PasswordAuthentication no


Khởi động lại sshd
Code:
# service sshd restart


Trên client, dùng putty để ssh đến server với Auth trỏ tới public_key.ppk

Nhưng kết quả khi ssh:
Code:
Server refused our key


Không biết em đã làm sai chỗ nào. Nhờ mọi người giúp một tay smilie

[Up] [Print Copy]
  [Question]   Không ssh được 19/01/2010 03:07:31 (+0700) | #2 | 203536
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Phải convert public key của putty thành public key của openssh trước khi đưa nó vào "authorized_keys". Lưu ý khi copy nội dung của public key vào trong "authorized_keys" phải cẩn thận. Cách tốt nhất là "cat" public key và direct nó vào "authorized_keys". Ví dụ: cat public_key >> /root/.ssh/authorized_keys

PS: nên đặt tên public key và private key cho rạch ròi để tránh nhầm lẫn. "public_key.ppk" ở đây là private key, cho nên đặt tên cho nó là "private_key.ppk" thì thích hợp hơn.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Không ssh được 19/01/2010 08:10:01 (+0700) | #3 | 203545
eyestv
Member

[Minus]    0    [Plus]
Joined: 09/05/2008 13:55:20
Messages: 67
Offline
[Profile] [PM]
PS: em hiểu cơ chế ssh từ 1 client đến server diễn ra như sau:
- Client sinh ra 1 cặp khóa publickey/privatekey
- client gửi lên server publickey, sau khi server nhận được, nó sẽ lưu vào /user/.ssh/authorized_keys và gửi thông báo về , lúc này bắt đầu quá trình chứng thực.

publickey dùng để mã hóa thông tin truyền giữa server và client, privatekey để giải mã thông tin mà server truyền về.


Nếu theo cơ chế đó thì:
Khi em dùng putty ssh đến server. Em đã login vào root thành công. Chứng tỏ quá trình chứng thực đã thành công --> đã có sự trao đổi publickey giữa client và server.

Vậy cặp khóa mà putty sinh ra ở client được lưu ở đâu?

publickey client gửi lên server được server lưu ở đâu?
[Up] [Print Copy]
  [Question]   Không ssh được 19/01/2010 08:26:32 (+0700) | #4 | 203547
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

eyestv wrote:
PS: em hiểu cơ chế ssh từ 1 client đến server diễn ra như sau:
- Client sinh ra 1 cặp khóa publickey/privatekey
- client gửi lên server publickey, sau khi server nhận được, nó sẽ lưu vào /user/.ssh/authorized_keys và gửi thông báo về , lúc này bắt đầu quá trình chứng thực.

publickey dùng để mã hóa thông tin truyền giữa server và client, privatekey để giải mã thông tin mà server truyền về.


Nếu theo cơ chế đó thì:
Khi em dùng putty ssh đến server. Em đã login vào root thành công. Chứng tỏ quá trình chứng thực đã thành công --> đã có sự trao đổi publickey giữa client và server.

Vậy cặp khóa mà putty sinh ra ở client được lưu ở đâu?

publickey client gửi lên server được server lưu ở đâu?
 


Vấn đề nằm ở chỗ public key được puttygen tạo ra không tương thích với format cho openSSH. Bởi thế, phải convert nó sang format tương thích với openSSH.

- Cặp khóa puttygen tạo ra lưu bất cứ nơi đâu trên máy con.

- public key (openSSH format sau khi convert xong) được gởi lên server và đưa vào authorized_keys.

PS: đọc thật kỹ bài trả lời.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Không ssh được 19/01/2010 08:37:34 (+0700) | #5 | 203549
eyestv
Member

[Minus]    0    [Plus]
Joined: 09/05/2008 13:55:20
Messages: 67
Offline
[Profile] [PM]
Vì client là winXP, em thấy chỉ có cách là copy cái file private_key rồi ném nó lên server, đổi tên thành authorized_keys rồi lưu vào /root/.ssh/authorized_keys.

Ở client khi mình dùng putty, em chọn Auth trỏ đến privatekey. Vậy mình có đoái hoài gì đến thằng publickey ở client đâu anh nhỉ?

Hình như em hiểu sai cái gì đó thì phải smilie
[Up] [Print Copy]
  [Question]   Không ssh được 19/01/2010 08:41:22 (+0700) | #6 | 203551
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Theo anh hiểu thì có vẻ em đang bị lấn cấn chỗ này rồi.

eyestv wrote:
PS: em hiểu cơ chế ssh từ 1 client đến server diễn ra như sau:
- Client sinh ra 1 cặp khóa publickey/privatekey
- client gửi lên server publickey, sau khi server nhận được, nó sẽ lưu vào /user/.ssh/authorized_keys và gửi thông báo về , lúc này bắt đầu quá trình chứng thực.

publickey dùng để mã hóa thông tin truyền giữa server và client, privatekey để giải mã thông tin mà server truyền về.
 

Em đang nói đến cơ chế chung hay là cơ chế xác thực bằng public-key nhỉ? Mà SSH ở đây là SSH-1, SSH-2 hay OpenSSH. Nhân tiện cũng phân biệt luôn một chút là:
- viết SSH thì có thể hiểu là protocol hay software đều được
- viết SSH-1, SSH-2 thì là protocol
- SSH1, SSH2 thì hiểu là software, product
- ssh: hiểu là client program

eyestv wrote:

Nếu theo cơ chế đó thì:
Khi em dùng putty ssh đến server. Em đã login vào root thành công. Chứng tỏ quá trình chứng thực đã thành công --> đã có sự trao đổi publickey giữa client và server.

Vậy cặp khóa mà putty sinh ra ở client được lưu ở đâu?

publickey client gửi lên server được server lưu ở đâu?
 

Hình như em đang nhầm là: dù dùng bất cứ phương thức xác thực nào, client cũng 'gen' ra một key-pairs. Nếu không, chính em là người gen key trên client, cũng chính em là người copy nó lên server, tại sao em lại hỏi là nó được lưu ở đâu?
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Không ssh được 19/01/2010 08:42:15 (+0700) | #7 | 203552
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

eyestv wrote:
Vì client là winXP, em thấy chỉ có cách là copy cái file private_key rồi ném nó lên server, đổi tên thành authorized_keys rồi lưu vào /root/.ssh/authorized_keys.

Ở client khi mình dùng putty, em chọn Auth trỏ đến privatekey. Vậy mình có đoái hoài gì đến thằng publickey ở client đâu anh nhỉ?

Hình như em hiểu sai cái gì đó thì phải smilie  


Giữa SSH client (putty) và SSH server (openSSH) chỉ có private key (từ putty) và public key (từ openSSH) mà thôi. Putty không đụng tới public key mà em đã generate nữa.

Đọc lướt nên hiểu sai là chuyện tự nhiên thôi.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Không ssh được 19/01/2010 08:44:58 (+0700) | #8 | 203554
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

eyestv wrote:
Vì client là winXP, em thấy chỉ có cách là copy cái file private_key rồi ném nó lên server, đổi tên thành authorized_keys rồi lưu vào /root/.ssh/authorized_keys.

Ở client khi mình dùng putty, em chọn Auth trỏ đến privatekey. Vậy mình có đoái hoài gì đến thằng publickey ở client đâu anh nhỉ?

Hình như em hiểu sai cái gì đó thì phải smilie  

--> Thật ra thì public key hay private key cũng chỉ là quy ước, quan trọng là em cần hiểu: thằng nào sẽ dùng key nào, key nào để mã hoá, key nào để giải mã?

PS: Tìm cuốn SSH - The Definitive Guide của O'reilly mà đọc, trong đó có đủ cả.
Let's build on a great foundation!
[Up] [Print Copy]
  [Question]   Không ssh được 27/06/2011 21:58:45 (+0700) | #9 | 242215
[Avatar]
no1roses
Member

[Minus]    0    [Plus]
Joined: 17/04/2009 03:01:30
Messages: 9
Offline
[Profile] [PM]
Bạn generate key bằng puttygen, dưới dạng publickey và privatekey.ppk
publickey ném lên server
privatekey.ppk để ở máy của bạn.
Khi login (VD bằng WinSCP), nó sẽ kiểm tra privatekey.ppk ở máy có khớp với public key ở server không. Nếu ok ---> ok.
V
n00b
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|