Answers:
* 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
)的命令行。它将在终端中打开并运行该命令。
您也可以使用New Remote Connection…
终端中的菜单项进行连接。通过单击+右列中的按钮,只需在SSH下添加主机即可。
在这里阅读更多
您可以考虑以下几种选择:
在您喜欢的文本编辑器中,使用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)或阅读文档中找到有关别名的更多信息。
要从Mac上的几乎任何地方快速打开ssh连接,请执行以下操作:
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中,输入主机的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命令,但您不介意打开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隧道。
您可以在本地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