云服务器网:购买云服务器和VPS必上的网站!
  • 易探云
  • 易探云
  • cdncloud
  • 零米云
  • 阿里云

创建ssh密钥对(ssh密钥对创建及使用)

本文目录:1、生成ssh公钥2、ssh-keygen非交互式创建秘钥对3、ssh密钥对登录安全吗?实践篇4、微信小程序开发ssh密钥是什么生成ssh公钥许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。 这

本文目录:

  • 1、生成ssh公钥
  • 2、ssh-keygen非交互式创建秘钥对
  • 3、ssh密钥对登录安全吗?实践篇
  • 4、微信小程序开发ssh密钥是什么

生成ssh公钥

许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。 这个过程在所有操作系统上都是相似的。

默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下。 我们需要寻找一对以 id_dsa 或 id_rsa 命名的文件,其中一个带有 .pub 扩展名。 .pub 文件是你的公钥,另一个则是与之对应的私钥。如果没有找到或者没有.ssh目录则需要生成。

你可以通过运行 ssh-keygen 程序来创建它们。 在 Linux/macOS 系统中,ssh-keygen 随 SSH 软件包提供;在 Windows 上,该程序包含于 MSysGit 软件包中。ssh-keygen 会确认密钥的存储位置(默认是 .ssh/id_rsa),然后它会要求你输入两次密钥口令。 如果你不想在使用密钥时输入口令,回车即可。 然而,如果你使用了密码,那么请确保添加了 -o 选项,它会以比默认格式更能抗暴力破解的格式保存私钥。 你也可以用 ssh-agent 工具来避免每次都要输入密码。

这时候再cat ~/.ssh/id_rsa.pub就可以看到你的sshkey了。

参考:

ssh-keygen非交互式创建秘钥对

1.ssh-keygen非交互式创建秘钥对:

具体命令: ssh-keygen -f ~/.ssh/id_rsa -P ” -q

参数讲解:

2.ssh-copy-id不需要提示yes/no分发秘钥

具体命令:ssh-copy-id -f -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no 172.16.1.8

ssh密钥对登录安全吗?实践篇

在上一篇文章 《ssh密钥对登录安全吗?原理篇》 了解了ssh密钥对登录原理后,接下去就是实践的问题了,这是大部分人更关心的知识,其中也有一些隐藏的陷阱。

首先 要生成一对密钥对,ssh-keygen 是 ssh 工具集中的一个工具,用于生成密钥对:

-b 是密钥对的长度,越长越安全,但运算速度就会相应变慢,在这个例子中生成的是一个 RSA 密钥对,其中 id_rsa 是公钥(也可以自定义名字),公钥也叫做 identity 文件,需要放到 ssh 服务器 ~/.ssh/authorized_keys 文件中(其中 ~ 符号表示想要以那个属主用户的身份(比如 root 用户)登录ssh服务器),用于证明这个密钥对拥有访问 ssh 服务器的权限。

在 ssh 登录的时候,ssh 客户端需要读取公钥文件,但不会传输。

那么 passphrase 是什么呢?是一个口令,用于保护密钥对,有了口令,即使密钥对文件泄漏了,由于攻击者没有口令解密,那么密钥对仍然是安全的。

如果图省事,口令可以为空,如果不为空,则ssh登录的时候需要输入口令。

运行完成后,生成的密钥对默认会保存到客户端属主目录 ~/.ssh 下,为什么生成在这个目录呢?因为登录验证的时候 ssh 客户端会读取属主目录下的公钥文件。

接下去查看生成的密钥对文件,运行如下命令:

id_rsa.pub 文件就是公钥,id_rsa 是私钥,需要注意的就是这二个文件的权限问题,私钥权限必须是 600,严格限制权限,而 id_rsa 权限可以适当放大,对于客户端,~/.ssh 的目录权限不会影响 ssh 登录,但从安全的角度看,请保持 700 权限。

公钥文件上传到ssh服务器后,其实就可以删除了,因为私钥包含公钥。

接下去 就是要将公钥放到 ssh 服务器上,一般有三种方法:

1:ssh-copy-id

ssh-copy-id 工具专门用于将公钥上传到ssh服务器的authorized_keys文件中,这个工具通过口令登录的方式上传公钥,运行很简单:

ssh-copy-id 默认会上传 ~/.ssh/ 目录下公钥文件(即 identity 文件 ),ssh服务器上可能有多个用户,那上传到那个用户的.ssh目录下呢?这根据 username 而定,比如 /home/username 目录。

如果 identity 文件不在 ~/.ssh 目录下或者名称不是默认的 id_rsa ,也可以通过 -i 参数指定文件,比如:

如果ssh服务器上的 ssh 打开 StrictModes 严格模式,这个工具会更改ssh服务上的 ~/.ssh目录, ~/.ssh/authorized_keys 文件的权限。

重点要注意的是,ssh服务器用户的.ssh目录必须是700 权限,authorized_keys 文件也必须是 700 权限,否则 ssh 登录验证会失败,下面会重点描述这个问题。

2:手动上传公钥

如果ssh服务器关闭了口令登录方式,就必须使用这种方式了,重点要注意权限问题。

首先拷贝 ~/.ssh/id_rsa.pub 内容,然后登录到ssh服务器上,再将剪贴板的内容粘帖到 ~/.ssh/uthorized_keys 文件中(如果不存在就创建对应的目录和文件)

最后运行下列命令:

尽量保证目录和文件只有对应的ssh用户才能访问,否则ssh登录会失败,原因就是为了保障安全,你总不希望自己的公钥被ssh服务器上的其他用户看到把?

3:使用ssh口令登录方式手动上传公钥

如果机器上没有 ssh-copy-id 工具(Windows 10 原生 ssh 客户端就没有),可采用这种方式,其实也很简单,就一条命令,但能让你了解详细的工作过程,所以比较推荐这种方式:

最后 就是 ssh 登录服务器,验证自己的公钥是否成功上传了,执行下列命令:

当然也可以指定私钥文件,比如 :

如果登录的时候还是让你输入口令,则很有可能是ssh服务器上的 ~/.ssh/authorized_keys 权限有问题,请检查下。

如果还是遇到登录失败的问题,可以在ssh服务器上查看日志,比如:

相关文章:

微信小程序开发ssh密钥是什么

SSH是一种网络协议,用于计算机之间的加密登录。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。

也就是说,如果你的云服务器像我一样是小鸟云云服务器Linux系统的(包括centos、Ubuntu、Debian等),可以创建SSH密钥。

创建就是通过加密的方式生成一对SSH密钥,公钥和私钥,由我们自己保存的是私钥,放在Linux服务器里面的叫做公钥,私钥放在本地的机器中就可以使用SSH命令实现远程连接。

为什么使用SSH密钥?

说下我自己选择设置的原因,很简单,一个是使用的安全强度比较高,另一个是配置了私钥以后,就能远程连接,不用重复输入密码,比较方便使用。

如何创建ssh密钥对

1.使用VNC或服务器账号密码连接Linux实例。

2.打开终端,输入以下指令,查看是否已经生成SSH秘钥。

ls -al ~/.ssh

Lists the files in your .ssh directory, if they exist

登录后复制

3.生成新的SSH密钥。

在服务器上制作密钥对。首先用密码登录到你打算使用密钥登录的账户,然后执行以下命令:

[root@host ~]$ ssh-keygen == 建立密钥对

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa): == 按 Enter

Created directory ‘/root/.ssh’.

Enter passphrase (empty for no passphrase): == 输入密钥锁码,或直接按 Enter 留空

Enter same passphrase again: == 再输入一遍密钥锁码

Your identification has been saved in /root/.ssh/id_rsa. == 私钥

Your public key has been saved in /root/.ssh/id_rsa.pub. == 公钥

The key fingerprint is: xxxxxxx

登录后复制

创建完成,安装公钥。

4.输入以下命令,在服务器上安装公钥:

[root@host ~]$ cd .ssh

[root@host .ssh]$ cat id_rsa.pub authorized_keys

5.如此便完成了公钥的安装。为了确保连接成功,请保证以下文件权限正确:

[root@host .ssh]$ chmod 600 authorized_keys

[root@host .ssh]$ chmod 700 ~/.ssh

登录后复制

6.设置SSH,打开密钥登录。

编辑 /etc/ssh/sshd_config 文件,进行如下设置:

RSAAuthentication yes

PubkeyAuthentication yes

登录后复制

操作过程来源:

ssh

linux

服务器

经典改编手游《群英三国复刻》,武将全靠招降,还原经典三国

精选推荐

广告

ssh密钥的生成与使用

7.3W阅读·1评论·13点赞

2017年11月16日

SSH公钥原理(密钥,秘钥,私钥)(看了还是懵逼啊!)

5915阅读·0评论·16点赞

2021年10月22日

Linux SSH 密钥创建及密钥登录

997阅读·0评论·0点赞

2022年11月12日

详解SSH秘钥对登录

991阅读·0评论·0点赞

2019年4月22日

SSH密匙key介绍

983阅读·0评论·0点赞

2021年4月15日

git生成ssh秘钥

411阅读·0评论·0点赞

2021年12月29日

高清播放机,图片大全,点击查看详情!

精选推荐

广告

SSH 密钥

4813阅读·0评论·0点赞

2022年6月3日

SSH密钥

702阅读·0评论·1点赞

2021年1月12日

创建ssh密钥

2497阅读·0评论·1点赞

2022年3月14日

git如何生成ssh密钥 git生成配置ssh密钥key详细步骤

2.3W阅读·3评论·23点赞

2022年7月6日

ssh密钥对

210阅读·0评论·0点赞

2021年1月4日

SSH秘钥介绍与使用

5130阅读·0评论·2点赞

2020年4月27日

如何获取SSH秘钥

194阅读·0评论·0点赞

2022年11月29日

paramiko与ssh

150阅读·0评论·0点赞

2015年11月15日

git生成ssh密钥详细步骤 git如何生成ssh密钥

6758阅读·0评论·3点赞

2022年7月26日

Xshell使用密钥登录Linux服务器

7480阅读·0评论·1点赞

2019年5月29日

ssh密钥-帮助文档

892阅读·0评论·0点赞

2022年2月19日

SSH密钥生成

3444阅读·0评论·1点赞

2022年4月6日

SSH通过秘钥登录

1772阅读·1评论·0点赞

2021年7月10日

关于 SSH 应用,你知道多少?

396阅读·0评论·0点赞

2021年10月21日

去首页

看看更多热门内容

本文来源:https://www.yuntue.com/post/79274.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注