1

Bluehost 只推荐 PuTTy。但是,是否可以在没有任何额外可见程序的情况下在 Mac 中使用 ssh 密钥?

我想轻而易举地连接到我的服务器,这样我就可以在终端中控制我的服务器。

4

6 回答 6

5

当然!在 Unix 和 OS X 上,该ssh-keygen命令将为 SSH 公钥身份验证生成公钥和私钥。调用此命令的常用方法(在客户端)是:

ssh-keygen -t rsa

该命令将询问您将私钥放在哪里;默认位置是~/.ssh/id_rsa,公钥将放在同名文件中,并.pub添加扩展名(例如:~/.ssh/id_rsa.pub)。该命令还要求您为私钥创建密码(“密码短语”);你可以像我一样把它留空,因为没有密码,但我不推荐这种做法。

在客户端计算机上拥有公钥和私钥后,您需要让服务器识别该公钥。如果您对服务器具有 shell 访问权限,则可以使用 上传公钥文件scp,然后使用ssh在服务器上运行以下命令:

cat id_rsa.pub >> ~/.ssh/authorized_keys 

如果您的托管公司没有为您提供 shell 访问权限(尽管 Bluehost 有),或者此过程不起作用,它可能会为您提供相同功能的 Web 界面。

一旦您的服务器设置为识别您的公钥,当ssh客户端尝试使用您的私钥进行身份验证时,它将允许您无需密码即可访问。您可能仍然需要输入私钥的密码,但通常您只需为每个客户端登录会话输入一次。

于 2009-02-26T18:15:20.373 回答
2

当然,我一直这样做。只需按照这些说明生成 SSH 密钥并将其复制到您的服务器。这些说明应该适用于 Mac 和 Linux。

于 2009-02-26T18:17:18.903 回答
2

SSHKeychain非常适合这个。它不显眼地存在于菜单栏上,并与 OS X 的 Keychain 和 SSH 实现无缝集成。

您将需要ssh-keygen按照其他答案中的说明使用,但是一旦完成,您就可以使用 SSHKeychain 来避免一直输入您的私钥密码。

于 2009-02-26T18:22:44.693 回答
1

您应该可以在 OS X 上使用 OpenSSH;打开终端并查看“man ssh”。SSH 密钥(以不同于 PuTTY 的格式)存储在 ~/.ssh 中。在 ~/.ssh/config 中进行配置也可以让您的生活更轻松;您将能够说“使用此 $KEY 将此 $SHORTNAME 用于此 $HOST”等。

于 2009-02-26T18:17:49.183 回答
1

在终端提示下执行

$ apropos ssh

您应该获得 Mac OS X 附带的与 ssh 相关的所有程序的列表。

使用这些ssh*工具,您的 ssh 密钥将存储在~/.ssh. PuTTY 很不错,但与标准的 OpenSSH 工具相比,它真的只在 Windows 系统上有用。

于 2009-02-26T18:17:51.897 回答
1

当然可以!首轮:

ssh-keygen

并完成这些步骤。给它一个密码等是个好主意。那么你就可以:

cat ~/.ssh/id_rsa.pub

并将结果复制粘贴到 bluehost 公钥文本区域。

于 2009-02-26T18:19:22.440 回答