Відповіді:
Найбільш * 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
Якщо ви використовуєте автентифікацію на основі ключів і зберігаєте пароль свого ключа в брелоку, вам навіть не потрібно буде вводити пароль.
Крім того, ви можете створити .command файл (звичайний текстовий файл з розширенням .command), що містить командний рядок, який ви використовуєте для підключення до сервера ( ssh compy
або ssh -i ~/.ssh/my_rsa_key -p 90 sidney@98.256.211.12
). Він відкриється в Terminal і запустить цю команду.
Ви також можете використовувати New Remote Connection…
пункт меню в Терміналі для підключення. Просто додайте свого хоста під SSH, натиснувши +кнопку в правій колонці.
Детальніше читайте ТУТ
У вас є пара варіантів, про які я можу придумати:
У своєму улюбленому текстовому редакторі створіть зберегти звичайний текстовий файл за допомогою команди ssh, наприклад.
ssh -p 23 admin@server.example.com
Назвіть файл WHATEVERYOUWANT.command
. Тоді вам потрібно встановити .command
файл із правами Execute ( 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 в розділі «Запустити команду при запуску».
Перейменуйте своє нове налаштування з "Спеціальне" на те, що вам потрібно.
Тепер ви можете розпочати сеанс із пунктів меню «Нове вікно» або «Нова вкладка», і, звичайно, комбінація клавіш може бути призначена в «Клавіатура та миша» в системних налаштуваннях.
Ви можете створити AppleScript, який запустить для вас команду:
tell application "Terminal"
do script "ssh server.example.com"
end tell
Щоб швидко відкрити ssh-з'єднання практично з будь-якого місця на вашому Mac, виконайте наступне:
ssh://user@host.com
*.inetloc
файл.~/connections
яка зберігає всі мої
*.inetloc
файли. Ви можете перейменувати цей файл на все, що завгодно, і навіть змінити його значок.*.inetloc
файл на док-станцію, бічну панель або панель інструментів Finder або куди завгодно. (Його навіть можна вибрати за допомогою прожектора)Для тих, хто використовує приватний ключ зі своїм 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>
Потім ви можете розмістити цей файл у будь-якому місці, як-от ваш Dock, або відкрити його за допомогою запуску, наприклад 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 Terminal, може бути, для запуску серверних програм X Windows або тунелю ssh.
Ви можете створити файл у своєму локальному каталозі бін
/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