Cấu hình xấu: không thể ssh


12

Như được mô tả trong nhiều bài đăng khác, sau khi nâng cấp lên MacOS Sierra, tôi đã sửa đổi tệp cấu hình ssh như sau:

Host me
HostName login.hpc.ugent.be
User vscxxxxx
Port 22

Host *
  AddKeysToAgent yes
  UseKeychain yes

Tôi vẫn nhận được lỗi sau:

$ssh -Y vscxxxxx@login.hpc.ugent.be
/Users/manfredo/.ssh/config: line 8: Bad configuration option: usekeychain
/Users/manfredo/.ssh/config: terminating, 1 bad configuration options

Tôi đang thiếu gì?


Đầu ra của ssh -Vvà là type sshgì? Hoặc bạn có biết liệu bạn đã cài đặt ssh không hệ thống chưa?
Jari Keinänen

OpenSSH_7.3p1, OpenSSL 1.0.2k ngày 26 tháng 1 năm 2017
Manfredo

Câu trả lời:


10

Chỉ cần loại bỏ UseKeychain yesdòng khỏi cấu hình của bạn. Bản cập nhật đã phá vỡ thiết lập hiện có bằng cách loại bỏ tùy chọn này.


Điều này có thể sai, giả sử chúng ta đang nói về ssh do hệ thống cung cấp. Bản cập nhật nào đã phá vỡ nó? Hay bạn có nghĩa là một số cập nhật ssh không phải của Apple? Tôi đang trên MacOS up-to-date và có UseKeychain yeshoặc usekeychain yescung cấp cho không có lỗi.
Jari Keinänen

Điều đó thực sự hoạt động. Tôi thực sự không biết điều gì khiến nó ngừng hoạt động, điều duy nhất là tôi đã cập nhật các gói macport của mình ngày hôm nay.
Manfredo

4

Tài liệu của Apple về các bản cập nhật OpenSSH trong macOS 10.12.2 nói rằng:

Nếu bạn đang chia sẻ cấu hình ssh của mình với các hệ thống chạy các phiên bản OpenSSH cũ hơn mà không hiểu tùy chọn UseKeychain, bạn có thể chỉ định tùy chọn IgnoreUn Unknown để giữ cấu hình của bạn tương thích với cả phiên bản mới và cũ.

Vì vậy, mẹo là trong tệp cấu hình ssh của bạn, hãy thêm IgnoreUnknown UseKeychainnhư dưới đây:

Host *
  AddKeysToAgent yes
  IgnoreUnknown UseKeychain
  UseKeychain yes

0

Nếu bạn chỉ định /usr/bin/sshcho các lệnh, nó hoạt động. Đường dẫn mặc định trong 10.12 đặt /usr/local/binlên hàng đầu để mọi phiên bản khác sshsẽ không hoạt động với tùy chọn đó, vì nó dành riêng cho hệ thống mac.


để thêm vào điều này, chỉ cần nano ~/.bash_profileđảm bảo /usr/binlà trước /usr/local/binnếu chúng không có trong phần $PATHkhai báo của bạn, chỉ cần thêm cả hai theo thứ tự đó. Một cái gì đó như export PATH="~/bin:/usr/bin:/usr/local/bin/:$PATHsau đó source ~/.bash_profilenày giải quyết nó cho tôi
abc123
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.