Làm cách nào để tạo kết nối ssh Phím tắt đầu cuối trên Mac OS X?


27

Nó hút để mở Terminal mỗi lần và viết một lệnh SSH hoàn chỉnh. Làm cách nào tôi có thể tạo lối tắt Terminal kết nối SSH trên Mac OS X 10.6.8 (Snow Leopard)?

Tôi cũng có một cổng tùy chỉnh để kết nối.

Câu trả lời:


80

Câu trả lời * NIX-y nhất là sử dụng các tính năng của SSH để lợi thế của bạn.

Tạo một tệp có tên configtrong ~/.ssh/(một thư mục có tên .sshtrong thư mục nhà của bạn). Thêm một mục nhập cho mỗi máy tính bạn muốn kết nối, như thế này:

Host compy
    HostName 98.256.211.12
    Port 90
    User sidney
    IdentityFile ~/.ssh/my_rsa_key
  • HostName có thể là địa chỉ IP hoặc tên máy chủ thực tế.
  • Port không bắt buộc nếu sử dụng cổng SSH mặc định
  • IdentityFilekhông bắt buộc nếu không sử dụng khóa.

    Sau đó, để kết nối, chỉ cần gõ

ssh compy

Nếu bạn sử dụng xác thực dựa trên khóa và lưu trữ mật khẩu của khóa trong Keychain, bạn thậm chí sẽ không cần nhập mật khẩu.

Ngoài ra, bạn có thể tạo tệp .command (tệp văn bản thuần có phần mở rộng .command) có chứa dòng lệnh bạn sử dụng để kết nối với máy chủ ( ssh compyhoặc ssh -i ~/.ssh/my_rsa_key -p 90 sidney@98.256.211.12). Nó sẽ mở trong Terminal và chạy lệnh đó.

Bạn cũng có thể sử dụng New Remote Connection…mục menu trong Terminal để kết nối. Chỉ cần thêm máy chủ của bạn dưới SSH bằng cách nhấp vào +nút ở cột bên phải.

Đọc thêm TẠI ĐÂY


Tôi đã sử dụng kết hợp với việc thêm khóa ssh của tôi vào máy chủ. Bạn có thể đẩy khóa công khai của mình như thế này 'ssh-copy-id -i .ssh / id_rsa.pub tên người dùng: password @ remotehost'
jspooner

10

Bạn có một vài lựa chọn mà tôi có thể nghĩ ra:

Tạo một tệp .command

Trong trình soạn thảo văn bản yêu thích của bạn, hãy lưu một tệp văn bản đơn giản bằng lệnh ssh của bạn, vd.

ssh -p 23 admin@server.example.com

Đặt tên cho tập tin WHATEVERYOUWANT.command. Sau đó, bạn cần thiết lập .commandtệp với đặc quyền thực thi ( chmod 755 /PATH/TO/WHATEVERYOUWANT.command) nhưng bây giờ bạn có một tệp mà khi nhấp đúp sẽ mở Terminal và chạy lệnh đó.

Tạo bí danh cho vỏ của bạn

Giả sử bạn đang sử dụng bash (shell mặc định trong Mac OS X), bạn có thể thêm bí danh vào .bashrcthư mục nhà của mình.

ví dụ. alias sshserver='ssh -p 23 admin@server.example.com'

Bạn có thể tìm hiểu thêm về bí danh tại [Wikipedia] ( http://en.wikipedia.org/wiki/Alias_(command) hoặc bằng cách đọc tài liệu.


5

Có rất nhiều cách để làm điều này. Đây là những gì tôi làm:

Mở tùy chọn thiết bị đầu cuối

Sao chép hồ sơ của bạn trên tab Cài đặt với biểu tượng bánh răng. Điều này thay đổi tệp cài đặt mặc định của bạn, vì vậy thay đổi mặc định cũ của bạn trở lại như trước khi sao chép.

Trong cài đặt tùy chỉnh mới của bạn, nhấp vào Shell gõ trong lệnh ssh của bạn trong phần Chạy lệnh khi khởi động.

Đổi tên cài đặt mới của bạn từ Tùy chỉnh thành bất cứ điều gì bạn muốn.

Bây giờ bạn có thể bắt đầu phiên của mình từ các mục menu Cửa sổ mới hoặc Tab mới và tất nhiên một phím tắt có thể được chỉ định trong Bàn phím & Chuột trong Tùy chọn hệ thống.


3

Bạn có thể tạo một AppleScript sẽ chạy lệnh cho bạn:

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

3

Để nhanh chóng mở kết nối ssh từ gần như mọi nơi trên máy Mac của bạn, hãy làm như sau:

  • Mở TextEdit và nhập chuỗi kết nối của bạn dưới dạng: ssh://user@host.com
  • Chọn toàn bộ dòng và kéo và thả nó trên Bàn làm việc. Kết quả sẽ là một*.inetloc tập tin.
  • Di chuyển tệp vào bất kỳ thư mục nào bạn thích. Tôi đã đặt một cái tên ~/connectionschứa tất cả của tôi *.inetloc tập tin . Bạn có thể đổi tên tệp này thành bất cứ thứ gì bạn thích và thậm chí thay đổi biểu tượng của nó.
  • Bây giờ bạn có thể kéo và thả *.inetloc tệp vào Dock, Thanh bên hoặc Thanh công cụ của Người tìm hoặc đến bất kỳ nơi nào khác. (Nó thậm chí có thể được chọn với Spotlight)
  • Nếu bạn sử dụng LaunchBar, hãy mở màn hình Cấu hình Launchbar (Command-Y) và thêm một quy tắc khác cho thư mục kết nối của bạn. Bây giờ các kết nối SSH của bạn có thể được mở bằng LaunchBar. Tôi tin rằng bạn có thể làm tương tự với LaunchBar và Quicksilver, cho phép khởi chạy nhanh các phím tắt SSH của bạn.

Tạo các phím tắt ssh truy cập nhanh


1
Đây chắc chắn là một cách tốt đẹp và nhanh chóng để mở một thiết bị đầu cuối trên một máy chủ từ xa!
cmroanirgo

3

Đối với những người sử dụng khóa riêng với ssh của họ và muốn sử dụng phương thức ~ / .ssh / config, bạn có thể thêm thuộc tính 'IdentityFile' vào máy chủ của mình theo đường dẫn khóa. I E:

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

Tôi đã thêm bit này như một nhận xét cho một trong những câu trả lời, nhưng danh tiếng của tôi vẫn còn thấp và tôi không được phép làm như vậy.


2

Nếu bạn muốn một tệp bạn có thể mở để khởi chạy phiên, bạn có thể tạo một .inetloc một cách dễ dàng. Trong TextEdit, nhập URL SSH đến máy chủ của bạn, ví dụ:

ssh://username@hostname/path

TextEdit sẽ nhận ra đó là một URL. Kéo URL vào máy tính để bàn của bạn và nó sẽ tạo một .inetloc như vậy:

<?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>

Sau đó, bạn có thể đặt tệp đó ở bất cứ đâu, như Dock của bạn hoặc mở tệp bằng trình khởi chạy như Quicksilver.

Tôi đã đề xuất Plugin SSH cho Quicksilver, nhưng phiên bản mới nhất tôi có thể tìm thấy, v.84, gặp sự cố QS mới hơn β54 (3815).


Bạn cũng có thể làm điều đó với một cổng? Ví dụ hostname:1234?
Daniel Beck

Vâng. ssh: // tên người dùng @ hostname: port cũng hoạt động.
Turadg

1

Nếu bạn đang sử dụng Quicksilver, có một tiện ích bổ sung tuyệt vời có tên Remotehosts sẽ tự động quét tệp ~ / .hosts hoặc thậm chí tệp ~ / .ssh / know_hosts của bạn để tự động sao chép.

Kết nối với một máy chủ mới cũng nhanh như mở Quicksilver (CMD-Space) và sau đó nhập đủ các ký tự của máy chủ để trở thành duy nhất và cuối cùng nhấn enter.


0

Nếu phần hấp dẫn đối với bạn là gõ lệnh ssh dài và phức tạp, nhưng bạn không ngại mở Terminal và vì một số lý do bạn không muốn sử dụng bất kỳ cách tiếp cận nào của câu trả lời trước đó, thì bạn cũng có thể sử dụng bí danh hoặc chức năng. Thêm một cái gì đó như thế này vào shell dotfile (.profile hoặc .bash_profile hoặc .bashrc hoặc .cshrc hoặc .zshrc hoặc bất cứ điều gì):

alias connect.dev='ssh -p 12345 yourusername@dev.somehost.net'

Ưu điểm duy nhất tôi có thể thấy so với các phương pháp khác là (ít nhất là trong zsh và tôi nghĩ bash) bạn có thể sử dụng hoàn thành lệnh để xem tất cả các máy chủ của mình để kết nối. Chẳng hạn, giả sử bạn có 25 máy chủ khác nhau mà bạn kết nối và bạn không muốn nhớ tất cả tên / bí danh mà bạn đã đặt cho chúng trong tệp .ssh / config. Nếu tất cả các bí danh bắt đầu với cùng một thứ, như 'kết nối.', Thì bạn chỉ cần gõ kết nối. [TAB] tại dấu nhắc lệnh và bạn sẽ thấy tất cả các hoàn thành có thể. (Tuyên bố miễn trừ trách nhiệm: bạn có thể cần thực hiện một số tùy chỉnh shell để hoạt động, nhưng tôi tin rằng nó sẽ hoạt động theo mặc định trong zsh và có thể là trong bash.)

Nếu phần hấp dẫn cho bạn là mở Terminal, thì bạn có thể thử sử dụng một cái gì đó như DuckBill , mặc dù lý do duy nhất tôi có thể nghĩ đến để chạy ssh OUTSIDE của Terminal có thể là để chạy các chương trình máy chủ X Windows hoặc đường hầm ssh.


0

Bạn có thể tạo một tập tin trong thư mục bin cục bộ của bạn

/usr/local/bin/dev

Với nội dung như sau:

#!/bin/bash
ssh -p 12345 username@www.mydomain.com 

Làm cho nó thực thi

chmod a+x /usr/local/bin/dev

Mà sau đó bạn có thể gọi từ thiết bị đầu cuối bằng cách sử dụng

dev

Và sau đó bạn tạo một tác vụ tự động hóa để mở nó

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

Bạn cũng có thể tạo một lối tắt từ launcher hoặc hotkey trên bàn phím của bạn

Trình khởi chạy: Biểu tượng kéo từ trình tự động lưu vào thanh công cụ

Phim tăt:

create as service in automator
open system services -> keyboard -> shortcuts -> app shortcuts -> enter title of automator and key shortcut 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.