Mac OS X에서 SSH 연결 터미널 바로 가기를 만드는 방법은 무엇입니까?


27

매번 터미널을 열고 완전한 SSH 명령을 작성합니다. Mac OS X 10.6.8 (Snow Leopard)에서 SSH 연결 터미널 바로 가기를 어떻게 만들 수 있습니까?

또한 연결할 사용자 정의 포트가 있습니다.

답변:


80

가장 * NIX-y 답변은 SSH의 기능을 활용하는 것입니다.

라는 이름의 파일 작성 config~/.ssh/(라는 이름의 폴더 .ssh홈 폴더를). 다음과 같이 연결하려는 각 컴퓨터에 대한 항목을 추가하십시오.

Host compy
    HostName 98.256.211.12
    Port 90
    User sidney
    IdentityFile ~/.ssh/my_rsa_key
  • HostName IP 주소 또는 실제 호스트 이름 일 수 있습니다.
  • Port 기본 SSH 포트를 사용하는 경우 필수가 아닙니다
  • IdentityFile키를 사용하지 않는 경우 필수가 아닙니다.

    그런 다음 연결하려면 다음을 입력하십시오.

ssh compy

키 기반 인증을 사용하고 키 비밀번호를 키 체인에 저장하면 비밀번호를 입력 할 필요조차 없습니다.

또한 서버 ( ssh compy또는 ssh -i ~/.ssh/my_rsa_key -p 90 sidney@98.256.211.12) 에 연결하는 데 사용하는 명령 줄이 포함 된 .command 파일 (확장명이 .command 인 일반 텍스트 파일)을 만들 수 있습니다 . 터미널에서 열리고 해당 명령을 실행합니다.

New Remote Connection…터미널 의 메뉴 항목을 사용하여 연결할 수도 있습니다. +오른쪽 열의 버튼 을 클릭하여 SSH 아래에 호스트를 추가하십시오 .

자세히보기 여기


ssh 키를 서버에 추가하는 것과 함께 이것을 사용했습니다. 'ssh-copy-id -i .ssh / id_rsa.pub username : password @ remotehost'와 같은 공개 키를 푸시 할 수 있습니다
jspooner

10

내가 생각할 수있는 몇 가지 옵션이 있습니다.

.command 파일 만들기

자주 사용하는 텍스트 편집기에서 ssh 명령을 사용하여 일반 텍스트 파일을 저장하십시오 (예 :

ssh -p 23 admin@server.example.com

파일 이름을 지정하십시오 WHATEVERYOUWANT.command. 그런 다음 .command실행 권한 ( chmod 755 /PATH/TO/WHATEVERYOUWANT.command)으로 파일 을 설정해야 하지만 이제 두 번 클릭하면 터미널을 열고 해당 명령을 실행하는 파일이 있습니다.

쉘 별명 작성

bash (Mac OS X의 기본 쉘)를 사용한다고 가정하면 .bashrc홈 폴더에 별명을 추가 할 수 있습니다 .

예. alias sshserver='ssh -p 23 admin@server.example.com'

별명에 대한 자세한 내용은 [Wikipedia] ( http://en.wikipedia.org/wiki/Alias_(command)) 또는 설명서를 참조하십시오.


5

이를 수행하는 방법에는 여러 가지가 있습니다. 여기 내가하는 일이 있습니다.

터미널 환경 설정 열기

톱니 바퀴 아이콘으로 설정 탭에서 프로필을 복제하십시오. 그러면 기본 설정 파일이 변경되므로 이전 기본값을 복제 전의 상태로 다시 변경하십시오.

새 사용자 정의 설정에서 시작시 명령 실행 섹션의 ssh 명령에서 쉘 유형을 클릭하십시오.

새 설정의 이름을 사용자 지정에서 원하는 것으로 바꾸십시오.

이제 새 창 또는 새 탭 메뉴 항목에서 세션을 시작할 수 있으며, 시스템 환경 설정의 키보드 및 마우스에서 키보드 단축키를 지정할 수 있습니다.


3

명령을 실행할 AppleScript를 생성 할 수 있습니다.

tell application "Terminal"
    do script "ssh server.example.com"
end tell

3

Mac의 거의 모든 곳에서 ssh 연결을 빠르게 열려면 다음을 수행하십시오.

  • TextEdit을 열고 다음 형식으로 연결 문자열을 입력하십시오. ssh://user@host.com
  • 전체 줄을 선택하고 바탕 화면에 끌어다 놓습니다. 결과는 *.inetloc파일이됩니다.
  • 파일을 원하는 폴더로 이동하십시오. 나는 ~/connections모든 *.inetloc파일 을 보유한 하나의 이름 을 만들었습니다 . 이 파일의 이름을 원하는대로 바꾸거나 아이콘을 변경할 수도 있습니다.
  • 이제 *.inetloc파일을 Dock, Finder의 사이드 바 또는 도구 모음 또는 다른 곳으로 끌어서 놓을 수 있습니다 . (스포트라이트로도 선택할 수 있습니다)
  • LaunchBar를 사용하는 경우 Launchbar 구성 화면 (Command-Y)을 열고 연결 폴더에 다른 규칙을 추가하십시오. 이제 LaunchBar를 사용하여 SSH 연결을 열 수 있습니다. LaunchBar 및 Quicksilver와 유사하게 SSH 단축키를 빠르게 시작할 수 있다고 생각합니다.

빠른 액세스 SSH 단축키 만들기


1
이것은 확실히 원격 호스트에서 터미널을 여는 좋은 방법입니다!
cmroanirgo

3

ssh와 함께 개인 키를 사용하고 ~ / .ssh / config 메소드를 사용하려는 경우 키 경로와 함께 호스트에 'IdentityFile'속성을 추가 할 수 있습니다. 즉 :

Host SomeServer
    User ubuntu
    HostName someserver.com
    IdentityFile ~/.ssh/private.key

나는이 비트를 답변 중 하나에 주석으로 추가했지만 내 명성은 여전히 ​​낮으며 그렇게 할 수 없습니다.


2

세션을 시작하기 위해 파일을 열려면 .inetloc을 쉽게 만들 수 있습니다. TextEdit에서 호스트에 대한 SSH URL을 입력하십시오 (예 :

ssh://username@hostname/path

TextEdit은이를 URL로 인식합니다. URL을 데스크탑으로 드래그하면 다음과 같이 .inetloc이 생성됩니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>URL</key>
    <string>ssh://username@hostname/path</string>
</dict>
</plist>

그런 다음 Dock과 같은 위치에 해당 파일을 배치하거나 Quicksilver와 같은 실행기로 파일을 열 수 있습니다.

Quicksilver 용 SSH 플러그인을 권장했지만 최신 버전 인 v.84에서 β54 (3815)보다 최신 QS가 충돌합니다.


포트로도 할 수 있습니까? 예를 들어 hostname:1234?
Daniel Beck

예. ssh : // username @ hostname : port도 작동합니다.
Turadg

1

Quicksilver를 사용하는 경우 ~ / .hosts 파일 또는 ~ / .ssh / known_hosts 파일을 자동으로 스캔하여 자동으로 채울 RemoteHosts라는 훌륭한 추가 기능이 있습니다.

새 호스트에 연결하는 것은 Quicksilver (CMD-Space)를 연 다음 호스트의 고유 한 문자를 고유하게 입력하고 Enter 키를 누르는 것만 큼 빠릅니다.


0

당신을 짜증나게하는 부분이 길고 복잡한 ssh 명령을 입력하고 있지만 터미널을 열지 않아도되고 어떤 이유로 이전 답변의 접근 방식을 사용하고 싶지 않은 경우에도 사용할 수 있습니다 별명 또는 함수. 쉘 도트 파일 (.profile 또는 .bash_profile 또는 .bashrc 또는 .cshrc 또는 .zshrc 등)에 다음과 같은 것을 추가하십시오.

alias connect.dev='ssh -p 12345 yourusername@dev.somehost.net'

다른 접근 방식보다 볼 수있는 유일한 이점은 (최소한 zsh에서는 bash라고 생각합니다) 명령 완료를 사용하여 연결할 모든 서버를 볼 수 있다는 것입니다. 예를 들어, 25 개의 서로 다른 서버가 연결되어 있고 .ssh / config 파일에서 지정한 모든 이름 / 별칭을 기억하고 싶지 않다고 가정 해 봅시다. 모든 별칭이 'connect.'와 같이 같은 것으로 시작하면 명령 프롬프트에 connect. [TAB] 만 입력하면 가능한 모든 완료가 표시됩니다. (면책 조항 : 작동하도록 쉘 사용자 정의를 수행해야 할 수도 있지만 기본적으로 zsh 및 아마도 bash에서도 작동한다고 생각합니다.)

당신을 짜증나게 하는 부분이 터미널을 여는 경우 DuckBill 과 같은 것을 사용해 볼 수 있습니다. 단말기의 ssh OUTSIDE를 실행 하려고 생각할 수있는 유일한 이유는 X Windows 서버 프로그램 또는 ssh 터널을 실행하기위한 것일 수 있습니다.


0

로컬 bin 디렉토리에 파일을 작성할 수 있습니다

/usr/local/bin/dev

다음 내용으로 :

#!/bin/bash
ssh -p 12345 username@www.mydomain.com 

그것을 실행 가능하게 만드십시오

chmod a+x /usr/local/bin/dev

그러면 다음을 사용하여 터미널에서 전화를 걸 수 있습니다

dev

그런 다음 자동화 작업을 만들어 엽니 다.

tell application "Finder" to set theSel to selection

tell application "Terminal"
    set theFol to POSIX path of ((item 1 of theSel) as text)
    if (count of windows) is not 0 then
        do script "/usr/local/bin/dev2" in window 1
    else
        do script "/usr/local/bin/dev2"
    end if
    activate
end tell

키보드의 런처 또는 핫키에서 바로 가기를 만들 수도 있습니다

실행기 : 자동화 기에서 도크 바로 아이콘 드래그

키보드 단축키:

create as service in automator
open system services -> keyboard -> shortcuts -> app shortcuts -> enter title of automator and key shortcut 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.