Como criar uma conexão ssh Atalho de terminal no Mac OS X?

25

É uma droga abrir o Terminal toda vez e escrever um comando SSH completo. Como posso criar um atalho de terminal de conexão SSH no Mac OS X 10.6.8 (Snow Leopard)?

Eu também tenho uma porta personalizada para se conectar.

    
por misha 28.11.2009 / 01:03

10 respostas

75

A resposta mais * NIX-y é usar os recursos do SSH a seu favor.

Crie um arquivo chamado config in ~/.ssh/ (uma pasta chamada .ssh em sua pasta pessoal). Adicione uma entrada para cada computador ao qual você deseja se conectar, assim:

Host compy
    HostName 98.256.211.12
    Port 90
    User sidney
    IdentityFile ~/.ssh/my_rsa_key
  • HostName pode ser um endereço IP ou um nome de host real.
  • Port não é obrigatório se usar a porta SSH padrão
  • IdentityFile não é obrigatório se não estiver usando uma chave.

    Então, para conectar, basta digitar

ssh compy

Se você usar a autenticação baseada em chave e armazenar a senha da sua chave no Keychain, nem precisará inserir uma senha.

Além disso, você pode criar um arquivo .command (um arquivo de texto simples com a extensão .command) contendo a linha de comando que você usa para se conectar ao servidor ( ssh compy ou ssh -i ~/.ssh/my_rsa_key -p 90 [email protected] ). Ele será aberto no Terminal e executará esse comando.

Você também pode usar o item de menu New Remote Connection… no Terminal para se conectar. Basta adicionar seu host no SSH clicando no botão + na coluna à direita.

Leia mais AQUI

    
por 28.11.2009 / 03:13
10

Você tem algumas opções que eu posso imaginar:

Crie um arquivo .command

No seu editor de texto favorito, crie um arquivo de texto simples com seu comando ssh, por exemplo.

ssh -p 23 [email protected]

Nomeie o arquivo WHATEVERYOUWANT.command . Você então precisa definir o arquivo .command com privilégios de execução ( chmod 755 /PATH/TO/WHATEVERYOUWANT.command ), mas agora você tem um arquivo que, quando clicado duas vezes, abre o Terminal e executa esse comando.

Crie aliases para o seu shell

Supondo que você esteja usando o bash (o shell padrão no Mac OS X), você pode adicionar aliases ao seu .bashrc em sua pasta pessoal.

por exemplo. alias sshserver='ssh -p 23 [email protected]'

Você pode encontrar mais informações sobre aliases em [Wikipedia] ( link ou lendo a documentação.

    
por 28.11.2009 / 01:44
5

Existem várias maneiras de fazer isso. Aqui está o que eu faço:

Abra as preferências de terminal

Duplique seu perfil na guia Configurações com o ícone de roda dentada. Isso altera seu arquivo de configuração padrão, portanto, altere seu padrão antigo de volta para o que era antes da duplicação.

Em suas novas configurações personalizadas, clique no tipo Shell em seu comando ssh na seção Executar comando na inicialização.

Renomeie sua nova configuração de Personalizado para o que você quiser.

Agora você pode iniciar sua sessão a partir dos itens de menu Nova Janela ou Nova Guia e, é claro, um atalho de teclado pode ser atribuído em Teclado & Mouse nas Preferências do Sistema.

    
por 28.11.2009 / 02:28
3

Você pode criar um AppleScript que executará um comando para você:

tell application "Terminal"
    do script "ssh server.example.com"
end tell
    
por 28.11.2009 / 01:44
3

Para abrir rapidamente uma conexão ssh de praticamente qualquer lugar no seu Mac, faça o seguinte:

  • Abra o TextEdit e digite sua string de conexão na forma de: %código%
  • Selecione a linha inteira e arraste-a e solte-a no Área de Trabalho. O resultado será um arquivo ssh://[email protected] .
  • Mover o arquivo para qualquer pasta que você gosta. Eu fiz um chamado *.inetloc que contém todos os meus ~/connections arquivos. Você pode renomear este arquivo para o que quiser e até mesmo alterar seu ícone.
  • Agora você pode arrastar e soltar o arquivo *.inetloc para o Dock, a barra lateral do Finder ou a barra de ferramentas, ou em qualquer outro lugar. (Isto pode até ser selecionado com o Spotlight)
  • Se você usar o LaunchBar, abra o Tela Launchbar Configuration (Command-Y) e adicione outra regra para sua pasta de conexões. Agora suas conexões SSH podem ser abertas com LaunchBar. Eu acredito que você pode fazer semelhante com o LaunchBar e Quicksilver, permitindo o lançamento rápido de seus atalhos SSH.

Crie atalhos ssh de acesso rápido

    
por 22.08.2013 / 14:54
3

Para aqueles que usam uma chave privada com o ssh e querem usar o método ~ / .ssh / config, você pode adicionar um atributo 'IdentityFile' ao seu host, seguido do caminho da chave. Ou seja:

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

Eu teria adicionado esse bit como comentário a uma das respostas, mas minha reputação ainda é baixa e não posso fazer isso.

    
por 21.08.2014 / 22:29
2

Se você quiser um arquivo que possa abrir para iniciar uma sessão, você pode fazer um .inetloc facilmente. No TextEdit, digite um URL SSH no seu host, por exemplo:

ssh://username@hostname/path

O TextEdit reconhecerá isso como um URL. Arraste o URL para a sua área de trabalho e ele criará um .inetloc da seguinte forma:

<?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>

Você pode colocar esse arquivo em qualquer lugar, como o Dock, ou abri-lo com um iniciador como o Quicksilver.

Eu teria recomendado o Plugin SSH para o Quicksilver, mas o mais recente que eu posso encontrar, v.84, trava o QS mais recente que o β54 (3815).

    
por 31.01.2011 / 18:41
1

Se você estiver usando o Quicksilver, há um ótimo add-on chamado RemoteHosts, que irá varrer automaticamente um arquivo ~ / .hosts ou até mesmo o seu arquivo ~ / .ssh / known_hosts para autopopular.

Conectar-se a um novo host é tão rápido quanto abrir o Quicksilver (CMD-Space) e, em seguida, digitar caracteres suficientes do host para serem exclusivos e, finalmente, pressionar Enter.

    
por 16.05.2011 / 19:14
0

Se a parte que é ruim para você está digitando um comando ssh longo e complexo, mas você não se importa em abrir o Terminal, e por alguma razão você não quer usar nenhuma das abordagens das respostas anteriores, então você também pode usar aliases ou funções. Adicione algo assim para shell dotfile (.profile ou .bash_profile ou .bashrc ou .cshrc ou .zshrc ou qualquer outro):

alias connect.dev='ssh -p 12345 [email protected]'

A única vantagem que posso ver sobre outras abordagens é que (no zsh pelo menos, e eu acho bash) você pode usar o comando completion para ver todos os seus servidores para se conectar. Por exemplo, digamos que você tenha 25 servidores diferentes aos quais se conecta e não queira se lembrar de todos os nomes / aliases que você forneceu no arquivo .ssh / config. Se todos os aliases começarem com a mesma coisa, como 'connect.', Você simplesmente digitar connect. [TAB] no prompt de comando, e você verá todas as conclusões possíveis. (Isenção de responsabilidade: você pode precisar fazer alguma customização de shell para fazer isso funcionar, mas acredito que funcionará por padrão no zsh e provavelmente no bash também.)

Se a parte que for ruim para você for abrir o Terminal, tente usar algo como DuckBill , embora as únicas razões pelas quais eu possa pensar em executar o ssh OUTSIDE of Terminal possam possivelmente ser a execução de programas do servidor X Windows ou um túnel ssh.

    
por 30.12.2009 / 21:43
0

Você pode criar um arquivo em seu diretório bin local

/usr/local/bin/dev

Com o seguinte conteúdo:

#!/bin/bash
ssh -p 12345 [email protected] 

Torne-o executável

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

Qual então você pode chamar do terminal usando

dev

E você cria uma tarefa de automação para abri-la

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

Você também pode criar um atalho a partir do iniciador ou da tecla de atalho no teclado

Launcher: ícone de arrastar do automator para o dockbar

Atalho de teclado:

create as service in automator
open system services -> keyboard -> shortcuts -> app shortcuts -> enter title of automator and key shortcut 
    
por 21.09.2015 / 00:30