【发布时间】:2010-10-10 03:46:54
【问题描述】:
Bluehost 仅推荐 PuTTy。但是,是否可以在没有任何额外可见程序的情况下在 Mac 中使用 ssh 密钥?
我想轻而易举地连接到我的服务器,以便我可以在终端中控制我的服务器。
【问题讨论】:
标签: ssh-keys
Bluehost 仅推荐 PuTTy。但是,是否可以在没有任何额外可见程序的情况下在 Mac 中使用 ssh 密钥?
我想轻而易举地连接到我的服务器,以便我可以在终端中控制我的服务器。
【问题讨论】:
标签: ssh-keys
当然!在 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 尝试使用您的私钥进行身份验证时,它将允许您无需密码即可访问。您可能仍然需要输入私钥的密码,但通常您只需为每个客户端登录会话输入一次。
【讨论】:
当然,我一直这样做。只需按照these 的指示生成 SSH 密钥并将其复制到您的服务器。这些说明应该适用于 Mac 和 Linux。
【讨论】:
SSHKeychain 非常适合这个。它不显眼地位于菜单栏上,并与 OS X 的 Keychain 和 SSH 实现无缝集成。
您需要使用ssh-keygen,如其他答案中所述,但一旦完成,您就可以使用 SSHKeychain 来避免一直输入您的私钥密码。
【讨论】:
OpenSSH 应该可以在 OS X 上使用;打开终端并查看“man ssh”。 SSH 密钥(以不同于 PuTTY 的格式)存储在 ~/.ssh 中。在 ~/.ssh/config 中进行配置也可以让您的生活更轻松;您将可以说“使用此 $KEY 将此 $SHORTNAME 用于此 $HOST”等。
【讨论】:
在终端提示下做
$ apropos ssh
您应该会得到一份 Mac OS X 附带的与 ssh 相关的所有程序的列表。
使用ssh* 工具,您的 ssh 密钥将存储在~/.ssh 下。 PuTTY 不错,但与标准的 OpenSSH 工具相比,它确实只在 Windows 系统上有用。
【讨论】:
当然可以!第一次运行:
ssh-keygen
然后完成这些步骤。给它一个密码等是个好主意。然后你可以:
cat ~/.ssh/id_rsa.pub
并将结果复制粘贴到 bluehost 公钥文本区域。
【讨论】: