Bluehost 只推荐 PuTTy。但是,是否可以在没有任何额外可见程序的情况下在 Mac 中使用 ssh 密钥?
我想轻而易举地连接到我的服务器,这样我就可以在终端中控制我的服务器。
Bluehost 只推荐 PuTTy。但是,是否可以在没有任何额外可见程序的情况下在 Mac 中使用 ssh 密钥?
我想轻而易举地连接到我的服务器,这样我就可以在终端中控制我的服务器。
当然!在 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
客户端尝试使用您的私钥进行身份验证时,它将允许您无需密码即可访问。您可能仍然需要输入私钥的密码,但通常您只需为每个客户端登录会话输入一次。
当然,我一直这样做。只需按照这些说明生成 SSH 密钥并将其复制到您的服务器。这些说明应该适用于 Mac 和 Linux。
SSHKeychain非常适合这个。它不显眼地存在于菜单栏上,并与 OS X 的 Keychain 和 SSH 实现无缝集成。
您将需要ssh-keygen
按照其他答案中的说明使用,但是一旦完成,您就可以使用 SSHKeychain 来避免一直输入您的私钥密码。
您应该可以在 OS X 上使用 OpenSSH;打开终端并查看“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 公钥文本区域。