Ответы:
Наиболее * NIX-y ответом является использование возможностей SSH в ваших интересах.
Создайте файл с именем config
in ~/.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
Если вы используете аутентификацию на основе ключей и сохраняете пароль в цепочке для ключей, вам даже не нужно будет вводить пароль.
Кроме того, вы можете создать файл .command (простой текстовый файл с расширением .command), содержащий командную строку, которую вы используете для подключения к серверу ( ssh compy
или ssh -i ~/.ssh/my_rsa_key -p 90 sidney@98.256.211.12
). Он откроется в Терминале и запустит эту команду.
Вы также можете использовать New Remote Connection…
пункт меню в терминале для подключения. Просто добавьте свой хост под SSH, нажав +кнопку в правом столбце.
Читать ЗДЕСЬ
У вас есть пара вариантов, о которых я могу подумать:
В вашем любимом текстовом редакторе создайте и сохраните обычный текстовый файл с помощью команды 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) или читая документацию.
Есть много способов сделать это. Вот что я делаю:
Открыть настройки терминала
Дублируйте свой профиль на вкладке Настройки со значком шестеренки. Это изменит ваш файл настроек по умолчанию, поэтому измените ваш старый по умолчанию обратно на тот, который был до дублирования.
В ваших новых пользовательских настройках нажмите Тип оболочки в вашей ssh-команде в разделе «Выполнить команду при запуске».
Переименуйте новую настройку из Custom в любую, какую вы хотите.
Теперь вы можете начать сеанс из элементов меню «Новое окно» или «Новая вкладка», и, конечно, сочетание клавиш можно назначить в разделе «Клавиатура и мышь» в «Системных настройках».
Вы можете создать AppleScript, который будет запускать команду для вас:
tell application "Terminal"
do script "ssh server.example.com"
end tell
Чтобы быстро открыть ssh-соединение практически из любого места на вашем Mac, сделайте следующее:
ssh://user@host.com
*.inetloc
файл.~/connections
которое содержит все мои
*.inetloc
файлы. Вы можете переименовать этот файл так, как вам нравится, и даже изменить его значок.*.inetloc
файл в Dock, боковую панель Finder, панель инструментов или куда-либо еще. (Его можно даже выбрать с помощью Spotlight)Для тех, кто использует закрытый ключ со своим ssh и хочет использовать метод ~ / .ssh / config, вы можете добавить атрибут «IdentityFile» на ваш хост, а затем путь к ключу. То есть:
Host SomeServer
User ubuntu
HostName someserver.com
IdentityFile ~/.ssh/private.key
Я бы добавил этот бит в качестве комментария к одному из ответов, но моя репутация все еще низка, и мне не разрешено это делать.
Если вам нужен файл, который вы можете открыть для запуска сеанса, вы можете легко создать .inetloc. В TextEdit введите URL-адрес SSH для вашего хоста, например:
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>
Затем вы можете поместить этот файл в любое место, например, в док-станцию, или открыть его с помощью средства запуска, такого как Quicksilver.
Я бы порекомендовал плагин SSH для Quicksilver, но последняя версия, которую я могу найти, v.84, дает сбой QS новее, чем β54 (3815).
hostname:1234
?
Если вы используете Quicksilver, есть отличная надстройка под названием RemoteHosts, которая автоматически сканирует файл ~ / .hosts или даже ваш файл ~ / .ssh / known_hosts для автоматического заполнения.
Подключение к новому хосту так же быстро, как открыть Quicksilver (CMD-Space), а затем набрать достаточно символов хоста, чтобы быть уникальным, и, наконец, нажать Enter.
Если часть, которая вам не подходит, набирает длинную и сложную команду ssh, но вы не возражаете против открытия терминала, и по какой-то причине вы не хотите использовать какой-либо из предыдущих подходов к ответам, тогда вы также можете использовать псевдонимы или функции. Добавьте что-то подобное в dotfile оболочки (.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 of Terminal, может быть запуск программ сервера X Windows или туннель ssh.
Вы можете создать файл в вашем локальном каталоге 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
Вы также можете создать ярлык из панели запуска или горячей клавиши на клавиатуре
Launcher: перетащите иконку из автоматического сохранения в док-панель
Сочетание клавиш:
create as service in automator
open system services -> keyboard -> shortcuts -> app shortcuts -> enter title of automator and key shortcut