在macOS Sierra(10.12)和high Sierra(10.13)上生成SSH密钥

 

 

本文将向您展示如何在macOS Sierra(10.12)和macOS High Sierra(10.13)上生成和保护SSH密钥。SSH密钥允许您在没有密码的情况下登录到服务器。它们增加了便捷性和安全性,大大增强了对暴力攻击的抵抗力。

SSH(Secure Shell)是一种用于远程管理的协议,用于文件传输通常表示为sFTP(安全文件传输协议)。当访问诸如Vultr VPS之类的远程服务器时,建议使用SSH与PKE(公共密钥交换),后者使用密钥对,其中公共密钥被提供给服务器,而私有密钥则存储在您的机器上。

在安装过程中,通过在***控制面板中添加公钥,可以自动将SSH密钥添加到服务器。您可以在此页上管理您的SSH密钥。重要的是要记住,这些是您的公钥(通常表示为. pub),您不应该公开您的私钥。

 

密钥类型

 

有几种不同的关键类型可以被选择。在生成过程中使用- t参数,比如ssh -keygen -t ed25519。使用椭圆曲线签名的ED25519密钥类型比DSA或ECDSA更安全、更高效。大多数现代的SSH软件(如版本6.5的OpenSSH)支持ED25519的密钥类型,但是您可能仍然会发现软件是不兼容的,因此默认的密钥类型仍然是RSA。

默认的密钥类型是2048位RSA,它提供了良好的安全性和兼容性。对于更高的安全性,可以使用生成的- b参数选择更大的密钥大小,比如ssh -keygen -b 4096,创建一个4096比特的RSA密钥对。

 

密钥生成

要生成SSH密钥,您需要打开终端。应用程序在“>实用程序>终端”中找到。

要创建一个4096比特的RSA密钥对,输入:

ssh-keygen -b 4096

然后你会看到:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa): 

按Enter / Return将把您的新密钥对保存到这个默认位置,这是推荐的。然后,您可以选择创建一个passphrase,它将对密钥进行加密,使其无法在未经授权的情况下使用。还建议使用密码短语。

Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.   
Your public key has been saved in id_rsa.pub.   
The key fingerprint is:
SHA256:0irBXp+xKwT5e0ZFklbEVkzxu0Bzv9PmvstFD5w6zlQ username@Your-Mac.local   
The key's randomart image is: 
+---[RSA 4096]----+
|         =o++.   |
|        + + ..   |
|     . . +  o o  |
|   .o  .  .. + + |
|    ooo S.  . E o|
|   . oo+.+   + ++|
|    o..o+   + .o=|
|     .o o. + ..oo|
|       +.   o  ==|
+----[SHA256]-----+

此时,您的密钥对已经创建并存储在~ /.ssh/ id_rsa中。为了将密钥可用到系统并将密码存储在系统密钥链中,我们需要完成几个额外的步骤。注意,只需要在每次使用时不提示输入密钥密码。

向SSH代理添加新的密钥对

输入 ssh-add -K ~/.ssh/id_rsa.

随后将提示您输入密码,您将看到以下内容:

Identity added: id_rsa (username@Your-Mac.local)

如果您想要使用这个SSH密钥登录已经创建的服务器,那么您可以使用SSH -copy- id工具将公共密钥存储在您想访问的服务器上。

向远程服务器添加新的密钥

使用ssh-copy-id:

# Substitute your server IP
ssh-copy-id -i ~/.ssh/id_rsa root@192.0.2.1

控制台将请求您的登录密码,因为远程服务器还没有意识到您的密钥。您将看到以下内容:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_rsa.pub"
 
Number of key(s) added:        1
 
Now try logging into the machine, with: "ssh 'root@192.0.2.1'"
and check to make sure that only the key(s) you wanted were added.

您现在可以尝试使用ssh root@192.0.2.1登录到远程服务器,您应该在没有密码提示符的情况下连接。

转载于:https://www.cnblogs.com/qiniuyun3/p/9515504.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值