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

Macのほぼどこからでもssh接続をすばやく開くには、次の手順を実行します。

  • TextEditを開き、次の形式で接続文字列を入力します。 ssh://user@host.com
  • 行全体を選択し、デスクトップにドラッグアンドドロップします。結果は*.inetlocファイルになります。
  • ファイルを任意のフォルダーに移動します。~/connectionsすべての*.inetlocファイルを保持する 名前のファイルを作成しました。このファイルの名前を好きな名前に変更したり、アイコンを変更することもできます。
  • これで、*.inetlocファイルをDock、Finderのサイドバーまたはツールバー、またはその他の場所にドラッグアンドドロップできます。(Spotlightで選択することもできます)
  • LaunchBarを使用する場合は、Launchbar Configuration画面(Command-Y)を開き、接続フォルダーに別のルールを追加します。これで、SSH接続をLaunchBarで開くことができます。LaunchBarやQuicksilverでも同様のことができ、SSHショートカットをすばやく起動できると思います。

クイックアクセスsshショートカットを作成する


1
これは確かに、リモートホストで端末を開くための素晴らしく簡単な方法です!
cmroanirgo 14年

3

sshで秘密キーを使用し、〜/ .ssh / configメソッドを使用する場合は、ホストに「IdentityFile」属性を追加し、その後にキーパスを追加できます。すなわち:

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

回答の1つにコメントとしてこのビットを追加しますが、私の評判はまだ低く、そうすることは許可されていません。


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
ダニエルベック

はい。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を実行する唯一の理由は、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.