ssh : //가 사용하는 것을 변경하는 방법?


9

Sierra (10.12.4)를 실행하는 Macbook Pro에는 두 가지 SSH 클라이언트 버전이있는 것 같습니다. 내가 다음을 수행하면 :

$> ssh dev

잘 작동합니다. 그러나 다음을 수행하면

$> open ssh://dev

새 터미널이 열리고 내 ssh_config파일 의 암호화 설정에 대해 불평 합니다. 특정 불만 사항을 조사한 결과 프로토콜 핸들러를 통한 개방이 이전 버전의 SSH를 사용하고 있음을 발견했습니다.

프로토콜이 리디렉션 할 SSH 클라이언트를 어떻게 변경합니까?


1
"ssh"를 입력하면 무엇을 얻을 수 있고 두 번째 명령을 실행 한 후 "ps aux | grep ssh"를 입력하면 무엇을 얻을 수 있습니까?
Brethil

어떤 ssh : /usr/local/bin/ssh 두 번째 방법으로 SSH 프로세스를 실행 한 후 SSH 프로세스가 종료됩니다. 프로세스 목록에서 어떻게 볼 수 있는지 잘 모르겠습니다.
Joshua Gilman

답변:


4

특정 URL 처리기의 기본 앱을 변경하기에 매우 편리한 도구를 사용할 수 있습니다.

RCDefaultApp을 사용하여 ssh URL 체계 변경

  1. RCDefaultApp 버전 2.1 다운로드
  2. 기본 설정 창 설치
  3. 시스템 환경 설정> 기본 앱> URL로 이동
  4. "ssh"로 이동
  5. 오른쪽에서 선호하는 응용 프로그램을 선택하십시오

이 스크린 샷과 매우 유사합니다.

RCDefaultApp 환경 설정 패널을 보여주는 스크린 샷


문제는 터미널 응용 프로그램이 아니라 어떤 SSH 바이너리가 호출되는지에 달려 있습니다. 터미널 대신 iTerm을 열도록 응용 프로그램을 변경할 수 있지만 문제는 계속 지속됩니다.
Joshua Gilman

1

ssh : // 프로토콜 클라이언트 변경에 대한 질문에 대답하려면,

https://superuser.com/a/548122/202319 , 당신은 수정할 수 있습니다 ~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist// 또는 다른 URL이 발견 : ssh를 할 때 등록 된 식별자 어떤 응용 프로그램을 엽니 다.

아직 앱 번들이 필요하거나 Terminal.app (이미 참조)를 사용하기 때문에 완벽한 솔루션은 아닙니다.

그러나 기본 Terminal.app 셸이 선호하는 방식을 사용하도록 .login 또는 .bashrc 파일을 수정할 수 있어야 ssh합니다.


1
.login.bashrc구성 변경 에 대해 자세히 설명 할 수 있습니까 ? 문제는 어떤 터미널 앱이 열려 있는지가 아니라 어떤 SSH 바이너리가 실행되고 있는지입니다. 호출 ssh터미널 세션 내에서하는 것은 하나의 바이너리를 호출하지만 터미널 개방 프로토콜을 통해 연결이 다른 SSH 바이너리를 호출하고 있습니다.
Joshua Gilman

0

지금 확인 할 맥이 없지만 내 추측은 다음과 같습니다.

Mac은 ssh client / usr / bin / ssh와 함께 제공됩니다

/ usr / local / bin / ssh에 최신 버전을 설치했습니다

/ usr / bin / ssh를 제거하거나 $ Path의 순서를 다시 정렬하여 / usr / local / bin / ssh를 먼저 선택합니다.


불행히도 애플은 / usr / bin에서 물건을 만질 수 없었습니다. 이미 로컬 bin을 넣기 위해 PATH 변수를 다시 정렬하려고 시도했지만 변경 사항이 작동하지 않아 ssh : // 프로토콜이 명시 적으로 / usr / bin / ssh를 호출하는 것 같습니다.
Joshua Gilman

복구 모드에서 SIP를 비활성화하면 다음을 수행 할 수 있습니다.csrutil disable
Michał
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.