PuTTY là một mã nguồn mở cho phép bạn kết nối và quản lý các thiết bị từ xa thông qua giao thức mạng SSH, Telnet, Rlogin và Serial. Phần mềm này được sử dụng rộng rãi bởi các quản trị viên hệ thống, lập trình viên trong giới công nghệ thông tin. Cùng VpsTTT.com tìm hiểu chi tiết về Putty, cách sử dụng và cài đặt ngay trong bài viết dưới đây.
PuTTY là gì?
Theo Wikipedia, PuTTY là một trình giả lập thiết bị đầu cuối cho phép kết nối và ứng dụng truyền network file miễn phí, mã nguồn mở. PuTTY có khả năng hỗ trợ cả một số giao thức mạng như SSH, TCP, Telnet, rlogin hay socket; hoặc thậm chí có thể kết nối đến một Serial Port, Pakistan, Tunisia và Belarus.
Ban đầu, PuTTY được viết cho Microsoft Windows và sau đó được ứng dụng trên nhiều hệ điều hành khác. Các port chính đều có sẵn trên một số nền tảng Unix và đang tiếp tục phát triển các port cho Classic Mac OS và macOS. Ngoài ra còn có một số port không chính thức khác cho các nền tảng như Windows Mobile, Windows Phone hay Symbian.
Giao diện trực quan và dễ sử dụng là điểm cộng lớn của PuTTY. Trình giả lập này có bảng cấu hình đơn giản giúp bạn dễ dàng lựa chọn loại kết nối, thiết lập tùy chọn ghi nhật ký, cấu hình terminal và quản lý các phiên làm việc. Về khả năng kết nối, PuTTY có khả năng liên kết các thiết bị nhanh chóng và ổn định chỉ trong vài giây. PuTTY còn hỗ trợ hầu hết thuật toán mã hóa phổ biến như AES, DES, Blowfish, 3DES, Arcfour,…
Một điểm cần lưu ý khi sử dụng PuTTY là phần mềm này rất tuân thủ luật mã hóa quốc gia và quốc tế, vì vậy bạn chỉ được sử dụng tại các quốc gia như Trung Quốc, Singapore, Việt Nam, Mông Cổ, Kazakhstan, Pakistan, Tunisia và Belarus.
PuTTY Portable là gì?
PuTTY Portable là phiên bản di động của phần mềm PuTTY nhưng được lưu trữ bằng thiết bị bên ngoài như USB. Với PuTTY Portable, bạn có thể dễ dàng kết nối với nhiều loại máy tính và thiết bị khác nhau thông qua các giao thức mạng phổ biến như Telnet, SSH, SCP và SFTP. Phiên bản Portable cho phép bạn sử dụng PuTTY trên bất kỳ máy tính nào mà không cần cài đặt, giúp bạn dễ dàng truy cập dữ liệu và ứng dụng từ xa bất cứ nơi đâu. Đây là lựa chọn lý tưởng cho các quản trị viên hệ thống, nhà phát triển phần mềm và bất kỳ ai cần truy cập máy tính từ xa thường xuyên.
Tuy nhiên, cần lưu ý rằng PuTTY Portable không lưu trữ mật khẩu để đảm bảo tính bảo mật. Do đó, bạn cần nhập mật khẩu mỗi khi kết nối với máy tính từ xa. Bên cạnh đó, PuTTy cũng được cảnh bảo là không được sử dụng ở một số quốc gia, nên bạn cần tìm hiểu kỹ luật về an ninh mạng tại quốc gia cụ thể trước khi sử dụng.
Solar-PuTTY là gì?
Solar-PuTTY là một công cụ miễn phí dành cho Windows, mang đến trải nghiệm kết nối SSH an toàn và tiện lợi hơn so với PuTTY truyền thống. Không những thế, Solar-PuTTY còn tích hợp cơ chế truyền file dựa trên SFTP và SCP, giúp bạn dễ dàng chia sẻ dữ liệu giữa các máy tính từ xa. Một ưu điểm nổi bật khác giúp Solar-PuTTY nổi bật hơn PuTTY Portable là cho phép lưu trữ thông tin đăng nhập, giúp bạn tự động kết nối với các máy tính từ xa mà không cần nhập mật khẩu mỗi lần.
Solar-PuTTY là công cụ lý tưởng cho quản trị viên hệ thống, nhà phát triển phần mềm có nhu cầu truy cập máy tính từ xa
Thành phần cấu trúc của PuTTY
PuTTY là một bộ phần mềm mã nguồn mở miễn phí cung cấp nhiều công cụ mạnh mẽ cho việc kết nối và quản lý máy chủ từ xa. Dưới đây là một số thành phần chính của PuTTY:
- PuTTY: Hỗ trợ kết nối Telnet, rlogin, SSH và cổng nối tiếp.
- PSCP: Sao chép tập tin an toàn bằng giao thức SCP.
- PSFTP: Chuyển tập tin chung như FTP với giao thức SFTP.
- PuTTYtel: Chuyên dụng cho kết nối Telnet.
- Plink: Cung cấp giao diện dòng lệnh để điều khiển PuTTY từ xa.
- Pageant: Quản lý khóa SSH cho PuTTY, PSCP và Plink.
- PuTTYgen: Tạo và quản lý khóa RSA và DSA.
- pterm: Mô phỏng thiết bị đầu cuối độc lập.
Các tính năng của PuTTY
Một số tính năng nổi bật của PuTTY gồm:
- Có Windows client và Mac, Linux port. PuTTY không có server đi kèm.
- Có thể hỗ trợ Windows 32-bit và 64-bit. Kể từ 2016 thì còn có thêm trình cài đặt MSI.
- Cho phép hỗ trợ SSH client, Telnet client và rlogin client. Ngoài ra PuTTY cũng hỗ trợ giao thức SSH2 và SS1 (trong đó SSH1 không được khuyến khích sử dụng vì khả năng bảo mật không quá tốt). Trên thực thì mọi thiết bị hiện nay đều có khả năng hỗ trợ SSH2.
- Hỗ trợ xác thực public key và xác thực active directory/Kerberos.
- Truyền file bằng một chương trình command-line riêng biệt.
- Không hỗ trợ scripting nhưng vẫn có thể dùng được với WinSCP.
- Xác thực chức năng Kerberos/GSSAPI trong SSH-2.
- Hỗ trợ Local X11 trên hệ điều hành Windows.
- Cho phép các phông chữ không cố định theo chiều rộng hiển thị trên Windows.
- Hỗ trợ GTK 2 trên Unix.
- Có khả năng tìm ra tên Host logical của hệ thống phần cứng và địa chỉ cụ thể để kết nối.
- Cho phép nén zlib@openssh.com SSH-2.
- Hỗ trợ thay đổi kích cỡ cửa sổ khi đang ở trong chế độ Aero trong Windows 7
- Hỗ trợ cơ chế mã hóa các khóa private theo chuẩn AES trong OpenSSH.
- Sửa lỗi khóa private trong OpenSSH bằng số thứ tự và số nguyên.
- Khắc phục lỗi khi thực hiện forward cổng.
- Sửa lỗi trong quá trình tắt ứng dụng.
- Sửa lỗi hệ thống bị treo khi gửi đi 1 loạt tín hiệu qua cổng backend trong Windows.
Sơ lược về lịch sử của PuTTY
Đây chắc chắn là một trong những SSH client cho Windows lâu đời nhất. Ban đầu thì PuTTY được phát triển bởi Simon Tatham vào năm 1998. Đến năm 2000 thì chính thức hỗ trợ thêm SSH. Mãi đến 19 năm sau thì phần mềm vẫn chỉ đang ở giai đoạn beta, vì vậy có thể thấy quá trình phát triển PuTTY tương đối chậm. Phiên bản gần đây nhất được bổ sung thêm khả năng hỗ trợ mật mã đường cong e-lip. Ngoài ra, giao diện người dùng và các tính năng chính hầu như không thay đổi gì trong 15 năm gần đây.
Các phiên bản cũ hơn 0.66 có một số lỗ hổng bảo mật nhất định, do đó người dùng nên nâng cấp lên phiên bản mới hơn để bảo mật hệ thống.
- Buffer overflow trong SCP là một lỗ hổng stack overflow. Nếu server gặp lỗi thì nó có thể thực thi code trên client nếu có bất kỳ file nào được download. Ngoài ra lỗ hổng này cũng có thể bị khai thác bởi tấn công MITM (Man in the middle).
- Integer overflow liên quan đến việc gửi một chuỗi escape đến terminal. Đây là một lỗ hổng liên quan đến bộ nhớ.
PuTTY là một client vô cùng đa năng và đã được triển khai từ rất nhiều năm về trước. Tuy nhiên giao diện người dùng vẫn khá cũ nên nhiều người dùng gặp khó khăn trong việc sử dụng. Ngoài ra PuTTY cũng không cung cấp giao diện đồ họa để truyền file. Nếu bạn muốn tìm một giải pháp thay thế thì hãy cân nhắc sử dụng SSH client.
Phân tích các đặc tính PuTTY cơ bản
Cửa sổ giao diện
PuTTY có giao diện được mô phỏng xuất sắc, mang đến trải nghiệm mượt mà cho người dùng. Phần mềm còn hỗ trợ nhiều thuật toán mã hóa tiên tiến, đảm bảo bảo mật cho các kết nối từ xa, giúp người dùng yên tâm thực hiện các thao tác quan trọng. Bên cạnh đó, PuTTY hỗ trợ các giao thức phổ biến như SSH, Telnet và TCP/IP, mở ra khả năng kết nối với nhiều thiết bị và hệ thống khác nhau.
Chuyển giao file
Thông thường, giao diện người dùng không bao gồm client truyền tệp tích hợp sẵn. Tuy nhiên, các công cụ dòng lệnh như PSFTP hay PSCP vẫn được cung cấp và sử dụng trong quá trình chuyển giao file. Dù vậy, phần lớn những người dùng không có kiến thức công nghệ chuyên môn thường không thích việc sử dụng câu lệnh.
Thay vào đó, người dùng có thể sử dụng WinSCP và FileZilla để truyền file khi kết hợp với PuTTY. Khi sử dụng hai phần mềm này, việc chuyển đổi để thực hiện các hành động, quản lý hồ sơ và đăng nhập thường gây thêm nhiều phiền toái. Hiện nay, WinSCP có thể import các cấu hình PuTTY, nhưng mỗi phần mềm yêu cầu các đăng nhập riêng biệt.
Xác minh public key
PuTTY sử dụng định dạng tệp riêng (.ppk) cho khóa SSH, giúp bảo mật kết nối từ xa. Công cụ PuTTYgen sử dụng để tạo khóa mới, chuyển đổi giữa các tệp .ppk lưu trữ khóa SSh và các định dạng khóa khác. Tình trạng hacker và phần mềm độc hại thu thập các khóa SSH khi thâm nhập vào một tổ chức rất thường gặp. Do đó, việc quản lý các khóa SSH đúng cách vô cùng quan trọng. Universal SSH Key Manager chính là giải pháp quản lý khóa SSH duy nhất hỗ trợ các tệp .ppk. Với Universal SSH Key Manager, bạn có thể quản lý tập trung, an toàn và hiệu quả tất cả khóa SSH của mình, giúp bảo vệ hệ thống khỏi các mối đe dọa an ninh mạng.
Hỗ trợ telnet
PuTTY hỗ trợ giao thức Telnet vì nó được phát triển từ một Telnet client. Tuy nhiên, Telnet có nhược điểm lớn là không bảo mật, khiến tên và mật khẩu của người dùng dễ bị đánh cắp. Cụ thể, vào giữa những năm 1990, các cuộc tấn công đánh cắp mật khẩu đã trở thành vấn đề bảo mật đáng báo động trên Internet. Lúc này, SSH chính thức được ra đời để giải quyết vấn nạn này. Các bộ định tuyến, chuyển mạch hoặc các cuộc tấn công ARP cũng có thể được sử dụng nhằm mục đích truyền các lệnh tùy ý vào các telnet session.
Một phiên bản gọi là PuTTYtel được sử dụng cho các quốc gia không cho phép sử dụng mã hóa. Tuy nhiên, hiện nay SSH đã được sử dụng ở tất cả các quốc gia, có thể chính thức hoặc không chính thức. Các hệ thống hầu hết không còn được quản lý mà không cần mã hóa. Không bảo mật mạng trong một môi trường mạng không có mã hóa. PuTTY cũng hỗ trợ kết nối đến các port nối tiếp và raw socket. Việc này có thể mang lại hữu ích khi debug và làm việc với một số thiết bị cũ.
Các lỗ hổng an ninh
Đặc tính cuối cùng của phần mềm PuTTY là lỗ hổng an ninh, cụ thể như sau:
- Buffer overflow (tràn bộ nhớ đệm): Đây là lỗ hổng mã từ xa, một máy chủ bị hỏng có thể thực thi mã trên máy khách khi có tệp tải xuống.
- Tràn số nguyên trong xử lý thoát chuỗi thiết bị đầu cuối: Đây là một lỗi bộ nhớ và lỗ hổng thực thi mã từ xa có liên quan đến việc gửi một chuỗi thoát tới thiết bị đầu cuối.
Cập nhật bảo mật và tính năng mới của PuTTY 0.75
Phiên bản PuTTY 0.75 được phát hành vào ngày 08/05/2021 mang đến nhiều cải tiến quan trọng về bảo mật và trải nghiệm người dùng với những điểm nổi bật dưới đây:
- Về việc khắc phục lỗi bảo mật, máy chủ ở bản 0.75 có thể DoS toàn bộ giao diện Windows GUI bằng cách gửi thông báo cho cửa sổ PuTTY thay đổi tiêu đề lặp đi lặp lại ở tốc độ cao.
- Ở lần sử dụng đầu tiên, Pageant có thể tải key ở trạng thái mã hóa, rồi giải mã nó bằng mật khẩu. Sau khi giải key, người dùng có thể truy cập thoải mái mà không cần phải thực hiện bước giải mã như phiên bản trước.
- Nâng cấp định dạng vân tay SSH key mặc định sang dạng OpenSSH-style SHA-256.
- Nâng cấp định dạng file key riêng tư sang PPK3, tăng độ bảo mật của mật khẩu và không còn sử dụng SHA-1.
- Đầu cuối hỗ trợ ESC [ 9 m để định dạng văn bản gạch ngang.
- Có thêm giao thức mới là lớp kết nối ssh không sử dụng mật khẩu, áp dụng cho kênh IPC đã được bảo mật an toàn, và SUPDUP khi dùng trên hệ thống cũ kiểu PDP-10s.
- PuTTYgen đã có thuật toán hệ provable-prime thay vì sử dụng RSA và DSA ở phiên bản trước.
- Unix có thể kết nối trực tiếp tới Unix-domain socket.
Download putty 64-bit windows 10
Hướng dẫn dưới đây phù hợp với các phiên bản Windows 10, 8 và 7. Đối với những phiên bản khác thì bạn vẫn có thể cài đặt hoàn toàn tương tự.
Download package cài đặt
Trước tiên, bạn cần download package cài đặt PuTTY về máy (putty-<version>-installer.msi
). Nếu đang dùng máy 64-bit thì bạn nên cài đặt phiên bản 64-bit bằng lệnh putty-64bit-<version>-installer.msi
. Hầu hết mọi máy tính đời mới đều sử dụng processor 64-bit, nếu bạn không chắc về bộ xử lý của máy tính thì có thể cài đặt phiên bản 32-bit để đảm bảo an toàn (putty-<version>-installer.msi
).
Hoặc bạn có thể download trực tiếp từ link này.
Bắt đầu quá trình cài đặt
Sau khi download xong thì hãy mở file cài đặt bằng quyền Admin (sử dụng tài khoản admin hoặc tài khoản cá nhân có quyền admin).
Cấu hình và cài đặt
Bây giờ màn hình sẽ hiển thị một cửa sổ welcome, nhấn vào Next để tiếp tục.
Tiếp theo công cụ sẽ yêu cầu chọn folder đích để cài đặt, bạn có thể đặt đường dẫn như mặc định rồi nhấn Next.
Sau đó lựa chọn các tính năng bạn muốn cài đặt. Tốt nhất thì bạn nên enable tất cả option có trong cửa sổ. Cuối cùng là chọn Install để bắt đầu quá trình cài đặt.
Đợi công cụ hoàn tất quá trình cài đặt và nhấn Finish trong cửa sổ tiếp theo.
PuTTy Download cho hệ điều hành Linux
Bước 1: Cập nhật hệ điều hành và kích hoạt kho lưu trữ Universe
Trước khi cài đặt PuTTY, bạn cần đảm bảo rằng kho lưu trữ Universe được kích hoạt trên hệ thống Linux của bạn. Sau đó bạn nên cập nhật hệ điều hành bằng lệnh sudo apt update.
Bước 2: Cài đặt PuTTY
Sử dụng lệnh sudo apt install putty để tiến hành cài đặt PuTTY
Bước 3: Khởi chạy PuTTY
Sau khi cài đặt thành công, bạn có thể truy cập PuTTY từ menu của máy tính. Cửa sổ PuTTY trên Linux sẽ tương tự như trên hệ điều hành Windows.
*Lưu ý: Cách kết nối Server Linux bằng SSH thông qua PuTTY
Bước 1
Khởi chạy phần mềm PuTTY. Trong cửa sổ PuTTY Configuration, nhập thông tin sau:
- Host Name (or IP address): Nhập địa chỉ IP của server bạn muốn kết nối.
- Port: Chọn 22 (cổng SSH mặc định).
- Connection type: Chọn SSH.
Sau đó, bạn nhấp Open để bắt đầu kết nối.
Bước 2: Sau khi nhấn Open, cửa sổ PuTTY Security Alert hiển thị, bạn chọn Yes để tiếp tục. Tiếp theo, bạn nhập tên người dùng (thường là root) và mật khẩu của server. Nhấn Enter hoặc OK để đăng nhập.
Bước 3: Sau khi đăng nhập thành công, bạn sẽ thấy giao diện dòng lệnh của server. Lúc này, bạn có thể thực hiện các thao tác quản trị và cấu hình server như mong muốn.