如何在Mac OS X上创建ssh连接终端快捷方式?


27

每次打开终端并编写完整的SSH命令时,它都很烂。如何在Mac OS X 10.6.8(Snow Leopard)上创建SSH连接终端快捷方式?

我还有一个要连接的自定义端口。

Answers:


80

* 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 compyssh -i ~/.ssh/my_rsa_key -p 90 sidney@98.256.211.12)的命令行。它将在终端中打开并运行该命令。

您也可以使用New Remote Connection…终端中的菜单项进行连接。通过单击+右列中的按钮,只需在SSH下添加主机即可。

这里阅读更多


我将此方法与将ssh密钥添加到服务器结合使用。您可以像下面这样'ssh-copy-id -i .ssh / id_rsa.pub用户名:password @ remotehost'
推送

10

您可以考虑以下几种选择:

创建一个.command文件

在您喜欢的文本编辑器中,使用ssh命令创建保存纯文本文件,例如。

ssh -p 23 admin@server.example.com

命名文件WHATEVERYOUWANT.command。然后,您需要.command使用执行特权(chmod 755 /PATH/TO/WHATEVERYOUWANT.command)设置文件,但是现在有了一个文件,双击该文件将打开Terminal并运行该命令。

为您的外壳创建别名

假设您正在使用bash(Mac OS X中的默认外壳),则可以.bashrc在您的主文件夹中添加别名。

例如。 alias sshserver='ssh -p 23 admin@server.example.com'

您可以在[Wikipedia](http://en.wikipedia.org/wiki/Alias_ ( command)或阅读文档中找到有关别名的更多信息。


5

有很多方法可以做到这一点。这是我的工作:

打开终端首选项

使用齿轮图标在“设置”标签上复制您的个人资料。这将更改您的默认设置文件,因此将您的旧默认设置更改为复制前的默认设置。

在新的自定义设置中,在“启动时运行命令”部分的ssh命令中单击Shell type。

将新设置从“自定义”重命名为所需的名称。

现在,您可以从“新窗口”或“新标签”菜单项开始会话,当然可以在“系统偏好设置”的“键盘和鼠标”中分配键盘快捷方式。


3

您可以创建一个AppleScript,它将为您运行命令:

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

3

要从Mac上的几乎任何地方快速打开ssh连接,请执行以下操作:

  • 打开TextEdit并以以下形式输入您的连接字符串: ssh://user@host.com
  • 选择整行并将其拖放到桌面上。结果将是一个*.inetloc文件。
  • 将文件移动到您喜欢的任何文件夹。我以一个命名~/connections来保存我的所有 *.inetloc文件。您可以将此文件重命名为任意名称,甚至可以更改其图标。
  • 现在,您可以将*.inetloc文件拖放到Dock,Finder的侧边栏或工具栏,或其他位置。(甚至可以通过Spotlight选择)
  • 如果使用LaunchBar,请打开Launchbar配置屏幕(Command-Y),然后为连接文件夹添加另一个规则。现在可以使用LaunchBar打开SSH连接。我相信您可以使用LaunchBar和Quicksilver进行类似操作,从而快速启动SSH快捷方式。

创建快速访问的SSH快捷方式


1
当然,这是在远程主机上打开终端的好方法!
cmroanirgo 2014年

3

对于那些通过ssh使用私钥并想使用〜/ .ssh / config方法的用户,可以在主机上添加一个'IdentityFile'属性,后跟密钥路径。即:

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

我会将这一点作为注释添加到其中一个答案中,但是我的声誉仍然很低,因此不允许这样做。


2

如果要打开一个文件以启动会话,则可以轻松地创建一个.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使QS崩溃,而后者比β54(3815)更新。


您还可以使用端口吗?例如hostname:1234
丹尼尔·贝克

是。ssh:// username @ hostname:port也可以。
图拉格2011年

1

如果您使用的是Quicksilver,则有一个名为RemoteHosts的出色插件,它将自动扫描〜/ .hosts文件或什至您的〜/ .ssh / known_hosts文件以自动填充。

连接到新主机只需打开Quicksilver(CMD-Space),然后输入足够的主机字符(唯一),最后按Enter。


0

如果为您带来麻烦的部分是键入一个冗长而复杂的ssh命令,但您不介意打开Terminal,并且由于某种原因不想使用任何先前答案的方法,那么也可以使用别名或函数。在shell 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中也可以默认工作。)

如果您最讨厌的部分是打开Terminal,那么您可以尝试使用DuckBill之类的东西,尽管我想到运行Terminal ss OUTSIDE的唯一原因可能是运行X Windows服务器程序或ssh隧道。


0

您可以在本地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

您还可以通过启动器或键盘上的热键创建快捷方式

启动器:将图标从自动存储保存到扩展坞

键盘快捷键:

create as service in automator
open system services -> keyboard -> shortcuts -> app shortcuts -> enter title of automator and key shortcut 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.