Odpowiedzi:
Najbardziej * NIX-y odpowiedzią jest skorzystanie z funkcji SSH na swoją korzyść.
Utwórz plik o nazwie config
w ~/.ssh/
(folder o nazwie .ssh
w folderze domowym). Dodaj wpis dla każdego komputera, z którym chcesz się połączyć, w następujący sposób:
Host compy
HostName 98.256.211.12
Port 90
User sidney
IdentityFile ~/.ssh/my_rsa_key
HostName
może być adresem IP lub rzeczywistą nazwą hosta. Port
nie jest obowiązkowe, jeśli używany jest domyślny port SSH IdentityFile
nie jest obowiązkowe, jeśli nie używasz klucza. ssh compy
Jeśli korzystasz z uwierzytelniania opartego na kluczach i przechowujesz hasło klucza w pęku kluczy, nie musisz nawet wpisywać hasła.
Ponadto możesz utworzyć plik .command (zwykły plik tekstowy z rozszerzeniem .command) zawierający wiersz poleceń służący do łączenia się z serwerem ( ssh compy
lub ssh -i ~/.ssh/my_rsa_key -p 90 sidney@98.256.211.12
). Otworzy się w Terminalu i uruchomi to polecenie.
Do połączenia możesz także użyć New Remote Connection…
pozycji menu w Terminalu. Wystarczy dodać hosta w SSH, klikając +przycisk w prawej kolumnie.
Czytaj więcej TUTAJ
Masz kilka opcji, o których mogę myśleć:
W swoim ulubionym edytorze tekstu utwórz zapisz zwykły plik tekstowy za pomocą polecenia ssh, np.
ssh -p 23 admin@server.example.com
Nazwij plik WHATEVERYOUWANT.command
. Następnie musisz ustawić .command
plik z uprawnieniami do wykonywania ( chmod 755 /PATH/TO/WHATEVERYOUWANT.command
), ale teraz masz plik, który po dwukrotnym kliknięciu otworzy Terminal i uruchomi to polecenie.
Zakładając, że używasz bash (domyślna powłoka w Mac OS X), możesz dodać aliasy do swojego .bashrc
folderu domowego.
na przykład. alias sshserver='ssh -p 23 admin@server.example.com'
Więcej informacji na temat aliasów można znaleźć na stronie [Wikipedia] ( http://en.wikipedia.org/wiki/Alias_(command) lub czytając dokumentację.
Istnieje wiele sposobów, aby to zrobić. Oto co robię:
Otwórz Preferencje terminala
Zduplikuj swój profil na karcie Ustawienia za pomocą ikony koła zębatego. Spowoduje to zmianę domyślnego pliku ustawień, więc zmień stare domyślne z powrotem na to, co było przed powieleniem.
W nowych ustawieniach niestandardowych kliknij typ powłoki w komendzie ssh w sekcji Uruchom komendę podczas uruchamiania.
Zmień nazwę nowego ustawienia z niestandardowego na dowolne.
Możesz teraz rozpocząć sesję z pozycji menu Nowe okno lub Nowa karta, a skrót klawiaturowy można oczywiście przypisać w Preferencjach systemowych.
Możesz utworzyć AppleScript, który uruchomi dla Ciebie polecenie:
tell application "Terminal"
do script "ssh server.example.com"
end tell
Aby szybko otworzyć połączenie ssh z dowolnego miejsca na komputerze Mac, wykonaj następujące czynności:
ssh://user@host.com
*.inetloc
plik.~/connections
który przechowuje wszystkie moje
*.inetloc
pliki. Możesz zmienić nazwę tego pliku na dowolny, a nawet zmienić jego ikonę.*.inetloc
plik na Docku, pasku bocznym Findera lub pasku narzędzi lub gdziekolwiek indziej. (Można go nawet wybrać za pomocą Spotlight)Dla tych, którzy używają klucza prywatnego z ssh i chcą skorzystać z metody ~ / .ssh / config, możesz dodać atrybut „IdentityFile” do swojego hosta wraz ze ścieżką klucza. To znaczy:
Host SomeServer
User ubuntu
HostName someserver.com
IdentityFile ~/.ssh/private.key
Dodałbym ten fragment jako komentarz do jednej z odpowiedzi, ale moja reputacja jest wciąż niska i nie wolno mi tego robić.
Jeśli chcesz plik, który możesz otworzyć, aby uruchomić sesję, możesz łatwo .inetloc. W TextEdit wpisz adres URL SSH do swojego hosta, np .:
ssh://username@hostname/path
TextEdit rozpozna to jako adres URL. Przeciągnij adres URL na pulpit, aby utworzyć plik .inetloc w następujący sposób:
<?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>
Następnie możesz umieścić ten plik w dowolnym miejscu, na przykład w Docku, lub otworzyć go za pomocą programu uruchamiającego, takiego jak Quicksilver.
Poleciłbym wtyczkę SSH dla Quicksilver, ale najnowszy, jaki mogę znaleźć, v.84, powoduje awarię QS nowszą niż β54 (3815).
hostname:1234
?
Jeśli używasz Quicksilver, istnieje świetny dodatek o nazwie RemoteHosts, który automatycznie skanuje plik ~ / .hosts lub nawet plik ~ / .ssh / known_hosts w celu automatycznego wypełnienia.
Połączenie z nowym hostem jest tak szybkie, jak otwarcie Quicksilver (CMD-Space), a następnie wpisanie wystarczającej liczby znaków hosta, aby być unikalnym, i na koniec naciśnięcie klawisza Enter.
Jeśli część, która jest do kitu, wpisuje długie i złożone polecenie ssh, ale nie masz nic przeciwko otwarciu terminalu iz jakiegoś powodu nie chcesz używać żadnego z podejść z poprzednich odpowiedzi, możesz również użyć aliasy lub funkcje. Dodaj coś takiego do powłoki dotfile (.profile lub .bash_profile lub .bashrc lub .cshrc lub .zshrc lub cokolwiek innego):
alias connect.dev='ssh -p 12345 yourusername@dev.somehost.net'
Jedyną zaletą, którą widzę w porównaniu z innymi podejściami, jest to, że (przynajmniej w Zsh i myślę, że bash) możesz użyć uzupełniania poleceń, aby zobaczyć wszystkie serwery, z którymi chcesz się połączyć. Załóżmy na przykład, że masz 25 różnych serwerów, z którymi się łączysz, i nie chcesz pamiętać wszystkich nazw / aliasów, które im nadałeś w pliku .ssh / config. Jeśli wszystkie aliasy zaczynają się od tej samej rzeczy, na przykład „połącz.”, Po prostu wpisz polecenie connect. [TAB] w wierszu polecenia, a zobaczysz wszystkie możliwe uzupełnienia. (Uwaga: może być konieczne dostosowanie powłoki, aby działało, ale wierzę, że będzie działać domyślnie w Zsh i prawdopodobnie również w bash).
Jeśli część, która jest dla ciebie do bani, to otwarcie terminalu, możesz spróbować użyć czegoś takiego jak DuckBill , chociaż jedynym powodem, dla którego mogę wymyślić uruchomienie ssh OUTSIDE of Terminal, może być prawdopodobnie uruchomienie programów serwera X Windows lub tunelu ssh.
Możesz utworzyć plik w lokalnym katalogu bin
/usr/local/bin/dev
O następującej treści:
#!/bin/bash
ssh -p 12345 username@www.mydomain.com
Zrób to
chmod a+x /usr/local/bin/dev
Który następnie możesz zadzwonić z terminala za pomocą
dev
Następnie tworzysz zadanie automatyzatora, aby je otworzyć
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
Możesz także utworzyć skrót z programu uruchamiającego lub skrótu na klawiaturze
Launcher: przeciągnij ikonę z automatyzacji zapisz na pasek dokowania
Skrót klawiszowy:
create as service in automator
open system services -> keyboard -> shortcuts -> app shortcuts -> enter title of automator and key shortcut