web-dev-qa-db-ja.com

Mac OS Xでssh接続ターミナルショートカットを作成する方法

毎回ターミナルを開いて完全なSSHコマンドを書くのは大変です。 Mac OS X 10.6.8(Snow Leopard)でSSH接続のターミナルショートカットを作成するにはどうすればよいですか?

接続するカスタムポートもあります。

29
misha

最も* NIX-yの答えは、SSHの機能を有利に使用することです。

~/.ssh/configという名前のファイルを作成します(ホームフォルダーに.sshという名前のフォルダー)。次のように、接続する各コンピューターのエントリを追加します。

Host compy
    HostName 98.256.211.12
    Port 90
    User sidney
    IdentityFile ~/.ssh/my_rsa_key
  • HostNameには、IPアドレスまたは実際のホスト名を指定できます。
  • デフォルトのSSHポートを使用する場合、Portは必須ではありません
  • キーを使用しない場合、IdentityFileは必須ではありません。

    次に、接続するには、次のように入力します

ssh compy

キーベースの認証を使用し、キーのパスワードをキーチェーンに保存する場合、パスワードを入力する必要さえありません。

さらに、サーバーへの接続に使用するコマンドライン(ssh compyまたはssh -i ~/.ssh/my_rsa_key -p 90 [email protected])を含む.commandファイル(拡張子が.commandのプレーンテキストファイル)を作成できます。ターミナルで開き、そのコマンドを実行します。

ターミナルのNew Remote Connection…メニュー項目を使用して接続することもできます。をクリックして、SSHでホストを追加するだけです + 右の列のボタン。

続きを読む [〜#〜]こちら[〜#〜]

84
s4y

あなたが私が考えることができるいくつかのオプションがあります:

.commandファイルを作成する

お気に入りのテキストエディタで、sshコマンドを使用してプレーンテキストファイルを作成して保存します。

ssh -p 23 [email protected]

ファイルにWHATEVERYOUWANT.commandという名前を付けます。次に、.commandファイルに実行権限(chmod 755 /PATH/TO/WHATEVERYOUWANT.command)を設定する必要がありますが、ファイルをダブルクリックするとターミナルが開き、そのコマンドを実行できます。

シェルのエイリアスを作成する

Bash(Mac OS Xではデフォルトのシェル)を使用していると仮定すると、ホームフォルダーの.bashrcにエイリアスを追加できます。

例えば。 alias sshserver='ssh -p 23 [email protected]'

エイリアスの詳細については、[Wikipedia]( http://en.wikipedia.org/wiki/Alias_(command) またはドキュメントを参照してください。

11
Chealion

これを行うには多くの方法があります。これが私がすることです:

ターミナル設定を開く

歯車アイコンを使用して、[設定]タブでプロファイルを複製します。これによりデフォルト設定ファイルが変更されるため、古いデフォルトを複製前の状態に戻します。

新しいカスタム設定で、[起動時にコマンドを実行]セクションのsshコマンドでシェルタイプをクリックします。

新しい設定の名前をCustomから任意の名前に変更します。

新しいウィンドウまたは新しいタブのメニュー項目からセッションを開始できるようになりました。もちろん、システム環境設定のキーボードとマウスでキーボードショートカットを割り当てることができます。

6
ridogi

Sshで秘密鍵を使用し、〜/ .ssh/configメソッドを使用したい場合は、ホストに 'IdentityFile'属性を追加し、その後にキーパスを追加できます。つまり:

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

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

3
Tarek Koudsi

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

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

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

3
Antonio

コマンドを実行するAppleScriptを作成できます。

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

セッションを起動するために開くことができるファイルが必要な場合は、.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がクラッシュします。

2
Turadg

Quicksilverを使用している場合は、RemoteHostsと呼ばれる優れたアドオンがあり、〜/ .hostsファイルまたは〜/ .ssh/known_hostsファイルを自動的にスキャンして自動入力します。

新しいホストへの接続は、Quicksilver(CMD-Space)を開き、一意になるようにホストの十分な文字を入力し、最後にEnterキーを押すのと同じくらい簡単です。

1
ticklemeozmo

ローカルのbinディレクトリにファイルを作成できます

/usr/local/bin/dev

次の内容で:

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

実行可能にする

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 
0
jason

面倒な部分が長くて複雑なsshコマンドを入力しているが、ターミナルを開いてもかまわない場合、および何らかの理由で以前の回答のアプローチを使用したくない場合は、エイリアスまたは関数。次のようなものをシェルのドットファイルに追加します(.profileまたは.bash_profileまたは.bashrcまたは.cshrcまたは.zshrcなど):

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

他のアプローチと比べて私が見ることができる唯一の利点は、(少なくともzshでは、bashだと思います)コマンド補完を使用して、接続するすべてのサーバーを確認できることです。たとえば、25の異なるサーバーに接続していて、.ssh/configファイルで指定したすべての名前/エイリアスを覚えておきたくないとします。すべてのエイリアスが「connect。」のように同じもので始まる場合は、コマンドプロンプトで「connect。[TAB]」と入力するだけで、可能なすべての補完が表示されます。 (免責事項:これを機能させるには、シェルのカスタマイズが必要になる場合がありますが、zshやおそらくbashでもデフォルトで機能すると思います。)

あなたのために吸う部分がターミナルを開いているなら、あなたは DuckBill のようなものを使うことを試みることができます、しかし私がターミナルの外でsshを実行することを考えることができる唯一の理由はおそらくXウィンドウサーバープログラムを実行するためかもしれませんまたはsshトンネル。

0
iconoclast