Làm cách nào để thay đổi ssh: // sử dụng?


9

Dường như có hai phiên bản máy khách SSH khác nhau trên Macbook Pro của tôi chạy Sierra (10.12.4). Nếu tôi làm như sau:

$> ssh dev

Nó hoạt động tốt. Tuy nhiên, nếu tôi làm như sau:

$> open ssh://dev

Nó mở một thiết bị đầu cuối mới sau đó phàn nàn về các cài đặt mã hóa trong ssh_configtệp của tôi . Nghiên cứu các khiếu nại cụ thể, tôi phát hiện ra rằng việc mở thông qua trình xử lý giao thức đang sử dụng phiên bản SSH cũ hơn.

Làm cách nào để thay đổi máy khách SSH mà giao thức chuyển hướng sang?


1
Bạn nhận được gì khi bạn gõ "which ssh" và bạn nhận được gì khi bạn gõ "ps aux | grep ssh" sau khi chạy lệnh thứ hai?
Brethil

Mà ssh: /usr/local/bin/ssh Quá trình SSH tự giết mình sau khi chạy nó thông qua phương thức thứ hai, tôi không chắc làm thế nào tôi có thể giữ nó sống để xem nó trong danh sách quy trình.
Joshua Gilman

Câu trả lời:


4

Bạn có thể sử dụng một công cụ rất thoải mái để thay đổi ứng dụng mặc định cho các trình xử lý URL cụ thể.

Thay đổi lược đồ URL ssh với RCDefaultApp

  1. Tải xuống RCDefaultApp Phiên bản 2.1
  2. Cài đặt ngăn ưu tiên
  3. Chuyển đến Tùy chọn hệ thống> Mặc định ứng dụng> URL
  4. Chuyển đến "ssh"
  5. Ở bên phải, chọn ứng dụng ưa thích của bạn

Nó sẽ trông rất giống với ảnh chụp màn hình này:

RCDefaultApp Ảnh chụp màn hình hiển thị khung tùy chọn


Vấn đề không dựa trên ứng dụng đầu cuối, mà là nhị phân SSH nào đang được gọi. Tôi có thể thay đổi ứng dụng để mở iTerm thay vì Terminal và vấn đề vẫn còn.
Joshua Gilman

1

Để trả lời câu hỏi của bạn về việc thay đổi máy khách giao thức ssh: //,

Mỗi https://superuser.com/a/548122/202319 , bạn có thể sửa đổi ~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plistđể mở bất kỳ ứng dụng nào có số nhận dạng đã đăng ký khi gặp ssh: // hoặc một URL khác.

Đây không phải là một giải pháp hoàn hảo, bởi vì nó vẫn yêu cầu gói ứng dụng hoặc sẽ sử dụng Terminal.app (đó là những gì bạn đã thấy).

Tuy nhiên, bạn sẽ có thể sửa các tệp .login hoặc .bashrc của mình để shell Terminal.app mặc định sẽ sử dụng tùy chọn ưa thích của bạn ssh.


1
Bạn có thể giải thích về những thay đổi .login.bashrccấu hình? Vấn đề không phải là ứng dụng đầu cuối nào đang được mở, mà là nhị phân SSH nào đang được thực thi. Gọi sshbên trong một phiên cuối cùng gọi một nhị phân, nhưng có thiết bị đầu cuối mở kết nối thông qua giao thức đang gọi một nhị phân SSH khác.
Joshua Gilman

0

Tôi không có mac để kiểm tra ngay bây giờ nhưng tôi đoán là:

Mac đi kèm với ssh client / usr / bin / ssh

Bạn đã cài đặt phiên bản mới hơn trên / usr / local / bin / ssh

Bạn có thể thử xóa / usr / bin / ssh hoặc sắp xếp lại thứ tự $ Path để nó sẽ chọn / usr / local / bin / ssh trước


Thật không may, Apple đã giết chết khả năng chạm vào công cụ trong / usr / bin. Tôi đã thử sắp xếp lại biến PATH để đặt bin cục bộ của mình lên trước, nhưng có vẻ như giao thức ssh: // đang gọi / usr / bin / ssh một cách rõ ràng khi thay đổi không hoạt động.
Joshua Gilman

bạn có thể nếu bạn tắt SIP trong chế độ khôi phục:csrutil disable
Michał Gąsior
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.