Mac OS X에서 여러 ssh 세션을 쉽게 관리하는 방법


9

다가오는 직업에서 SSH 액세스로 많은 서버를 처리 할 것입니다. 그것은 대부분의 호스트에서 다른 사용자 이름을 가진 ~ 100-120 호스트와 같을 것입니다. 각 호스트에 어떤 사용자 이름이 있는지 언급하지 않고 각 호스트 도메인 이름을 기억하지 않을 것이라고 확신합니다.

각 호스트에 대한 세션을 정의하고 (세션에서 사용자 이름 및 일부 ssh 옵션을 의미) Mac OS X 용 도구가 있습니까? 그러한 세션 목록을 표시하고 클릭 / 선택시 자동으로 연결됩니까?

답변:


6

SSH 데이터를 관리하거나 사람들이 관리하는 것을 본 두 가지 방법이 있습니다.

좋은 'ole, 명령 행, 일반 텍스트, ssh_config 파일.

configinside 라는 파일을 만듭니다 ~/.ssh. 호스트 선언 위에 전역 매개 변수를 지정하여 전역 매개 변수를 지정할 수 있습니다. MacPorts 사용을 시작했을 때 , 연결시 자동으로 사용할 기본 SSH 개인 키를 명시 적으로 정의해야했습니다.

IdentityFile ~/.ssh/id_rsa

호스트에 대한 사용자 정의 규칙을 정의 할 때 (*를 와일드 카드로 사용할 수도 있음) 다음과 같습니다.

Host prod-*
  User jason
  Port 2222
  LocalForward 5901 localhost:5901
  IdentityFile ~/.ssh/work-id_rsa

그런 다음 ssh prod-script예를 들어 실행 하면 나머지 모든 규칙이 자동으로 적용됩니다.


이러한 성가신 방식으로 모든 물건을 수동으로 관리하고 싶지 않은 많은 사람들이 JellyfiSSH를 빨리 찾습니다 . ( Mac App Store Link . 같은 사람들도 무료로 다운로드 할 수 없게되면서 매우 화가났습니다.)

JellyfiSSH는 명령 행 또는 ssh_config 파일에 지정할 수있는 거의 모든 것에 대한 GUI 액세스를 제공 합니다. JellyfiSSH는 사용자가 설정 한 옵션을 기반으로 명령을 생성하고 연결을 클릭하면 명령 줄에 정의 된 모든 옵션이 포함 된 새 터미널 창을 열기 때문에 조직을위한 구성 저장소 앱입니다. JellyfiSSH 자체 터미널 앱 이 아닙니다 .


JellyfiSSH는 내가 찾고 있던 앱처럼 보입니다. 감사!
kars7e

참고 : man ssh_config터미널에서 현재 시스템 설치에 사용 가능한 OpenSSH SSH 클라이언트 구성 파일 정보를 제공합니다. 의견 당시에는 위의 개발자 링크보다 최신 버전입니다.
l --marc l

5

Example.command다음 과 같은 파일을 만든 다음 실행 가능하게 만들고 chmod 755 Example.command파일을 두 번 클릭하여 연결을 엽니 다.

#!/bin/sh

exec /usr/bin/ssh username@example.com

exit 0

별명 (기억하기 쉬운 단어)을 사용하여 명령 행에서 연결하려면 ~ / .ssh / config에서 설정하십시오.

Host foo
HostName some.really.long.hostname.here.com
Port 22
User bigfun

그런 다음 호스트를 사용하여 연결할 수 있습니다 foo

ssh foo

또는 쉘 구성 파일 (~ / .bashrc 또는 ~ / .zshenv)에서 기능을 만들 수 있습니다.

s1 () {
    ssh -v username@example.com
}

명령 행 example.com에 입력 하기 만하면 연결할 수 있으며 s1레벨 1 상세 정보를 사용합니다.

마지막으로 ssh 자동 완성 기능을 사용할 수 있지만 해당 구문은 선택한 셸에 따라 다릅니다. 'ssh 자동 완성 YourShellHere'에 대한 빠른 Google은 몇 가지 예를 보여줍니다.

암호와 OS X 키 체인 사용

가장 중요한 것은 IMO는 암호로 작동하도록 ssh를 설정하는 것입니다. OS X은 Leopard 이후로 뛰어난 키 체인 통합 기능을 내장하고 있습니다.

ssh-keygen -t dsa -f ~/.ssh/id_dsa -C "you@exampledomain.com"

cat ~/.ssh/id_dsa.pub | ssh you@host.domain 'cat – >> ~/.ssh/authorized_keys'

(출처 : http://www.paosborne.com/blog/?p=369 )

그런 다음 새 컴퓨터로 ssh하면 OS X 키 체인에 ssh 암호 문구가 표시됩니다

자세한 설명 은 http://www.dribin.org/dave/blog/archives/2007/11/28/ssh_agent_leopard/ 를 참조하십시오 . 이 기사는 더 오래되었지만 Lion도 같은 방식으로 작동합니다.

Dropbox를 잊지 마세요

여러 컴퓨터에 로그인하면 ~/.ssh/configDropbox를 통해 파일을 동기화 할 수 있습니다 . 나는 내 안에 들어간 ~/Dropbox/etc/ssh/config.txt다음에한다 :

cd ~/.ssh
ln -s ../Dropbox/etc/ssh/config.txt config

~ / .zshenv와 동일한 작업을 수행합니다.

cd
ln -s Dropbox/etc/zshenv.sh .zshenv

사실, 모든 쉘 스크립트를 ~ / Dropbox / bin /에 넣고 $ PATH에도 추가했습니다.


Dropbox는 git / on GitHub에서 관리하고 싶지 않은 쉘 스크립트를 저장하기에 좋은 곳입니다. '아하'순간을 촉발 해 주셔서 감사합니다, TJ!
Jason Salaz

-2

Mac OS X ( PuTTY 기반) 용 vSSH 앱을 사용해 볼 수 있습니다 .

  • 연결 목록 관리 (호스트, 포트, 사용자 이름, 비밀번호, 키 및 기타 여러 설정)
  • PuTTY가 할 수있는 거의 모든 것이 가능
  • 멀티탭 멀티 윈도우 인터페이스
  • 매크로 지원 (빠른 액세스를 위해 메뉴 항목으로 스크립트를 쉘)
  • iOS 용 vSSHSSH 제어 앱 과 iCloud 동기화 (연결, 매크로 및 키)

Mac AppStore 에서 사용 가능합니다 .


다른 질문에 오신 것을 환영합니다! 자체 승격 에 관한 도움말 센터를 읽고 답변에 제품 작성자 인 경우 면책 사항을 포함하십시오.
grg

1
실제로 클릭 가능한 세션 목록을 어떻게 허용합니까? 일반적인 마케팅 중 일부를 편집하여 정확한 질문에 집중할 수 있다면 더 나은 반응을 보일 것입니다.
bmike
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.