Sử dụng tệp PPK trong Mac Terminal để kết nối với kết nối từ xa qua SSH [đã đóng]


140

Tôi đã sử dụng Putty trên Windows XP và sử dụng tệp .ppk để kết nối với các máy chủ Linux của tôi (một số máy chủ).

Trên các máy chủ, tôi có thư mục và tệp sau ~ / .ssh / ủy quyền

Bây giờ tôi muốn sử dụng máy Mac để kết nối qua thiết bị đầu cuối. Tôi đã thiết lập các kết nối từ xa đến các máy chủ theo cách thủ công và muốn biết làm thế nào tôi có thể thiết lập bằng tệp ppk hoặc khóa riêng / chung trong đó.

Xin lưu ý: Tôi đã sử dụng đăng nhập khóa riêng / công khai từ Windows vì vậy tôi không cần tạo khóa mới bằng keygen, tôi chỉ muốn biết cách thiết lập ngay bây giờ khi tôi đã có khóa. (Nói cách khác, tôi đã có danh sách khóa được ủy quyền trên máy chủ và khóa chung và khóa riêng).

Câu trả lời:


373

Bạn có thể sshtrực tiếp từ Terminal trên Mac, nhưng bạn cần sử dụng một .PEMkhóa chứ không phải là putty .PPKkhóa. Bạn có thể sử dụng PuttyGen trên Windows để chuyển đổi từ .PEMsang .PPK, mặc dù tôi không chắc chắn về cách khác.

Bạn cũng có thể chuyển đổi khóa bằng puttyMac thông qua porthoặc brew:

sudo port install putty

hoặc là

brew install putty

Điều này cũng sẽ cài đặt puttygen. Để nhận được puttygenmột .PEMtập tin:

puttygen privatekey.ppk -O private-openssh -o privatekey.pem

Khi bạn có chìa khóa, hãy mở một cửa sổ đầu cuối và:

ssh -i privatekey.pem user@my.server.com

Khóa riêng phải có cài đặt bảo mật chặt chẽ nếu không SSH phàn nàn. Hãy chắc chắn rằng chỉ người dùng có thể đọc chìa khóa.

chmod go-rw privatekey.pem

1
cổng sudo ?? điều đó chắc chắn không tồn tại ... ít nhất là trong Mavericks
Pedro Luz

23
Bạn cũng có thể cài đặt putty bằng cách sử dụng brew : brew install putty. Lưu ý rằng chúng tôi không sử dụng sudoở đây;)
GabLeRoux

2
Câu trả lời hữu ích !! Cảm ơn vì điều đó!! Đối với những người chưa cài đặt cổng, có thể theo liên kết sau để cài đặt git : odingsteps.com/installing-and-USE-putty-on-mac-os-x
Viraj

3
Lỗi này có nghĩa là gì khi tôi cố chạy lệnh puttygen? Nhập cụm mật khẩu để tải khóa: Xác nhận thất bại: (Random_active), chức năng Random_byte, tệp ./../sshrand.c, dòng 313. Bẫy bỏ: 6
ngủ nhanh vào

6
Bạn cần cài đặt công thức pha chế từ HEAD, brew uninstalltrước tiên hãy sử dụng brew install putty --HEAD. Điều này làm việc cho tôi.
Dokie

31

Chuyển đổi PPK sang OpenSSh

OS X: Cài đặt Homebrew, sau đó chạy

bia cài đặt putty

Đặt chìa khóa của bạn trong một số thư mục, ví dụ thư mục nhà của bạn. Bây giờ chuyển đổi các khóa PPK thành keypairs SSH: tìm kiếm bộ đệm

Để tạo khóa riêng:

cd ~

puttygen id_dsa.ppk -O private-openssh -o id_dsa

và để tạo khóa chung:

puttygen id_dsa.ppk -O công khai-openssh -o id_dsa.pub

Di chuyển các khóa này sang ~ / .ssh và đảm bảo các quyền được đặt thành riêng tư cho khóa riêng của bạn:

mkdir -p ~/.ssh
mv -i ~/id_dsa* ~/.ssh
chmod 600 ~/.ssh/id_dsa
chmod 666 ~/.ssh/id_dsa.pub

kết nối với máy chủ ssh

ssh -i ~/.ssh/id_dsa username@servername

Chuyển tiếp cổng để kết nối máy chủ từ xa mysql

ssh -i ~/.ssh/id_dsa -L 9001:127.0.0.1:3306 username@serverName

19

Có một cách để làm điều này mà không cần cài đặt putty trên máy Mac của bạn. Bạn có thể dễ dàng chuyển đổi tệp PPK hiện tại của mình sang tệp PEM bằng PuTTYgen trên Windows.

Khởi chạy PuTTYgen và sau đó tải tệp khóa riêng hiện có bằng nút Tải. Từ menu "Chuyển đổi", chọn "Xuất khóa OpenSSH" và lưu tệp khóa riêng với phần mở rộng tệp .pem.

Sao chép tệp PEM sang máy Mac của bạn và đặt nó ở chế độ chỉ đọc bởi người dùng của bạn:

chmod 400 <private-key-filename>.pem

Sau đó, bạn sẽ có thể sử dụng ssh để kết nối với máy chủ từ xa của bạn

ssh -i <private-key-filename>.pem username@hostname

9
There is a way to do this without installing putty on your Mac. You can easily convert your existing PPK file to a PEM file using PuTTYgen on Windows.Vì vậy, cách tốt nhất để làm điều đó trên mac là làm điều đó trên windows?!
Roee Gavirel

6
Thật ra @sigi câu trả lời của tôi thực sự có ý định hữu ích. Mục tiêu chính của câu hỏi mà tôi hiểu là kết nối từ máy Mac với máy chủ Linux bằng tệp .ppk hiện có từ máy Windows. Với câu hỏi người hỏi có quyền truy cập vào máy Windows, sau đó chuyển đổi tệp .ppk thành tệp .pem trước khi sao chép nó sang Mac cũng là một giải pháp hợp lệ như lần đầu tiên sao chép nó sang Mac và chuyển đổi nó ở đó. Tôi đã đề xuất phương pháp này vì một số người có thể không muốn cài đặt phần mềm bổ sung trên máy Mac mà họ không cần.
dasfrosty

3
Câu trả lời này rất hữu ích, vì chính xác lý do được bảo vệ: Ai đó đến từ Windows sang Mac với tệp ppk hiện tại có nhiều khả năng muốn xuất từ ​​Windows thay vì cài đặt PuTTY trên Mac không nhằm mục đích cụ thể. Đây chính xác là những gì tôi đã chọn để làm.
trevorsky
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.