OSX ssh-agent: không dán mật khẩu và có vấn đề với PKCS # 8?


37

Tôi sử dụng ssh trên máy của mình và đã thiết lập một cụm mật khẩu dài không thân thiện với con người được lưu trong trình quản lý mật khẩu của tôi. Điều khiến tôi phát điên mỗi lần là tôi không thể dán vào cửa sổ trong hình dưới đây. Tôi biết Remember password in my keychaintùy chọn và sử dụng nó. Đôi khi tôi phải nhập một cái mới mặc dù. Tại sao tôi không thể dán vào trường mật khẩu?

Điều tương tự cho hộp thoại bật lên khi cắm vào đĩa được mã hóa.

cửa sổ đại lý ssh

Một số cập nhật:

  1. Tôi đã tìm ra cách tôi có thể phá vỡ hộp thoại: chỉ cần sử dụng ssh-add -K ~/.ssh/id_rsavà sau đó tôi có thể dán cụm mật khẩu vào thiết bị đầu cuối.
  2. Như mattmcmanus đã đề cập, Khóa của tôi được mã hóa bằng cách sử dụng pkcs8đã bị hỏng trên ssh-agent của Yosemite. Điều này không liên quan đến vấn đề trên, nhưng nó đã xảy ra với tôi cùng một lúc (đọc ở đây ).
  3. sử dụng ssh-add vẫn không sửa lỗi này cho các đĩa được mã hóa.

Bạn nên chấp nhận một trong những câu trả lời tốt dưới đây. Bạn cũng nên tránh hỏi nhiều câu hỏi trong một bài.
Alain O'Dea

1
@ AlainO'Dea Trước tiên, vâng tôi nên, đây là một câu hỏi cũ và tôi đã quên nó. Đối với điều thứ hai mặc dù: tại thời điểm hỏi, không rõ vấn đề thứ hai (PKCS bị hỏng) sẽ phát sinh, xem lịch sử chỉnh sửa.
joni

Câu trả lời:


22
  1. Hộp thoại cho ssh-agent có thể được phá vỡ bằng cách thêm khóa trong bàn điều khiển / thiết bị đầu cuối : ssh-add ~/.ssh/id_rsa. Sau đó bạn có thể dán mật khẩu vào thiết bị đầu cuối. Ngoài ra, thêm -Ktùy chọn ssh-addsẽ lưu nó vào móc khóa theo nhận xét của Oliver Lacans.
  2. Như mattmcmanus đã nói, id_rsamã hóa sử dụng PKCS dường như bị phá vỡ trên ssh-agent OSX Mavericks. Cách giải quyết nhanh là giải mã keyfile và mã hóa lại bằng thủ tục ssh tiêu chuẩn (Phương pháp tạo dẫn xuất khóa: MD5 ...):

mv id_rsa id_rsa.pkcs
openssl rsa -in id_rsa.pkcs -out id_rsa
# enter passphrase to decrypt
chmod 0600 id_rsa
ssh-keygen -f id_rsa -p
# enter passphrase to encrypt again

3
Mặc dù câu trả lời của joni là tuyệt vời, tôi muốn giới thiệu ssh-add -K ~/.ssh/id_rsa"Lưu trữ cụm mật khẩu trong móc khóa của bạn" theo ssh-add --help. Nó sẽ ngăn bạn khỏi phải chạy lại ssh-addmỗi lần bạn mở tab shell mới hoặc khi bạn khởi động lại máy.
Olivier Lacan

2

Đây có phải là khóa PKCS # 8 không và bạn có đang sử dụng mavericks không? Nếu vậy, điều đó dường như hoàn toàn bị phá vỡ. Không chắc chắn có một giải pháp nào.


1
Tại sao phải như vậy? Vấn đề cho đến nay chỉ là trường mật khẩu trên hộp thoại không chấp nhận dán. Điều này đã tồn tại vào ngày 10.8, nhưng vì cập nhật lên 10.9 nên tôi phải nhập lại cụm mật khẩu.
joni

OK, bạn có vẻ đúng ... nhìn vào câu trả lời của riêng tôi.
joni

2

Trên Mac OS X El Capitan, lệnh ssh-add có thể thực hiện việc này với tùy chọn -K :

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:

Bạn có thể dán mật khẩu của mình vào lời nhắc này bằng ⌘-V .

Một phiên cho việc này trông như thế này:

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:
Passphrase stored in keychain: /Users/your.username/.ssh/id_rsa
Identity added: /Users/your.username/.ssh/id_rsa (/Users/your.username/.ssh/id_rsa)

Đoạn trích liên quan của SSH-ADD (1) được đưa lên với man ssh-add :

-K Khi thêm danh tính, mỗi cụm mật khẩu cũng sẽ được lưu trong móc khóa của bạn. Khi xóa danh tính bằng -d, mỗi cụm mật khẩu sẽ bị xóa khỏi móc khóa của bạn.

INFOSEC LƯU Ý : Mật khẩu của bạn sẽ không được hiển thị trong trình bao, nhưng sẽ được hiển thị cho tất cả các ứng dụng đang chạy qua bảng tạm. Một giải pháp tự động sẽ an toàn hơn.


1

Bạn có thể chạy một tập lệnh như thế này trong AppleScript Editor:

tell application "System Events" to tell process "SecurityAgent"
    set value of text field 2 of scroll area 1 of group 1 of window 1 to "pa55word"
    click button 2 of group 2 of window 1
end tell

1
cảm ơn, điều này sẽ giúp cho các hộp thoại 'đĩa được mã hóa'. Nhưng tại sao apple lại vô hiệu hóa trường này để dán ???
joni

Tiện dụng, nhưng vâng, đừng nghĩ rằng điều này giải quyết vấn đề PKCS # 8, trong đó ngay cả khi bạn nhập đúng mật khẩu, nó vẫn nói cụm mật khẩu xấu.
Bob Aman

Không có ý nghĩa. Bây giờ mật khẩu cực kỳ bí mật của bạn được mở cho tất cả mọi người. Đó là lý do tại sao TS sử dụng trình quản lý mật khẩu để mật khẩu của cô tập trung và được bảo vệ cao.
whaefelinger 6/11/2015

1
Không hoạt động trên El Capitan. Đầu tiên, nó yêu cầu Trình chỉnh sửa tập lệnh để có được Điều khiển hỗ trợ System Events got an error: Script Editor is not allowed assistive access. Một khi được phép trong Tùy chọn hệ thống | Bảo mật và quyền riêng tư tôi nhận đượcSystem Events got an error: Can’t get window 1 of process "SecurityAgent". Invalid index.
Alain O'Dea

1

Tôi đã từng gặp vấn đề tương tự. Sau khi tìm thấy câu hỏi này, tôi tiếp tục tìm kiếm và trả lời ở nơi khác. Đây là một câu hỏi cũ hơn, nhưng nó không có câu trả lời được chấp nhận và vẫn còn cao trong danh sách tìm kiếm. (không chắc chắn về nghi thức stackexchange về điều đó).

RE không thể sao chép / dán: Rõ ràng là do thiết kế. Mục đích là để ngăn chặn tất cả quyền truy cập vào trường từ bảng ghi tạm để ngăn chương trình độc hại cào các hộp mật khẩu. Tôi nghĩ rằng dán (và không cắt) nên được cho phép, nhưng có thể có một số lý do kỹ thuật.

Đối với công cụ ssh-agent, kể từ (ít nhất là) Yosemite, -Ktùy chọn ssh-add -K ~/.ssh/blahthực hiện những gì bạn thích - nhập mật khẩu một lần, nó được lưu trong móc khóa của bạn và ssh-agent sẽ mở khóa trong suốt cho bạn. Để thử và an toàn hơn, tôi đặt cụm mật khẩu ssh của mình vào một móc khóa riêng biệt tự khóa theo định kỳ.


Bất kỳ cơ hội nào bạn có thể chia sẻ một liên kết đến câu trả lời bạn tìm thấy?
John Carney

Xin lỗi vì điều đó! Đối với các công cụ ssh-agent, tôi tình cờ tìm thấy developer.apple.com/l
Library / mac / documentation / Darwin / Reference / /

0

Sử dụng brew openssl và openssh khắc phục vấn đề.

brew update
brew install openssl
brew link openssl --force
brew install openssh

# confirm correct bins are being used
# both should be located in /usr/local/bin
which openssl
which openssh

# add key back to keychain
ssh-add ~/.ssh/id_rsa

Tôi không chắc chắn nếu lực liên kết openssl phá vỡ bất cứ điều gì trên Mavricks. Cho đến nay, tôi đã không nhận thấy bất kỳ vấn đề.


1
Không có brewcông thức (dài hơn) cho openssh.
Adam Văn

brew tap homebrew/dupesTuy nhiên vẫn còn . Điều đó nói rằng, các bước này dường như không giải quyết vấn đề này cho tôi.
Bob Aman

@ Simple10 Câu trả lời này cung cấp ít hoặc không có giá trị. Ít nhất bạn nên cung cấp phiên bản openssl / openssh để khắc phục sự cố. Ngoài ra xin vui lòng giải thích tại sao nó sẽ làm như vậy.
whaefelinger 6/11/2015
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.