ssh密钥讲解

我们用ssh连接机器时候需要输用户名、密码,但是直接写账户文件的时候由于用的是明文,就存在安全的问题了。别人一旦截取了数据就获得了隐私了。这时候就用上ssh的密钥。

ssh的密钥存是成对出现的,一个叫公钥,一个是私钥。公钥是给别人的,私钥存在自己手里。在连接的时候两把钥匙配对成功,就可以建立数据连接。

[[email protected] ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh‘.
Enter passphrase (empty for no passphrase):
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:
SHA256:uRVPB4eYb3mXG7j7BcIeOEG83TSS7ApCzyDdU5P1abE [email protected]
The key‘s randomart image is:
+---[RSA 2048]----+
|     . . o+*ooo  |
|    . + o.=.=+o+ |
|     o + .o=.=E..|
|      . +..B*+oo.|
|       .S.+o=.o.o|
|         o.o + o |
|        .   . . .|
|             .  .|
|              .. |
+----[SHA256]-----+

我们在看看这对密钥

[[email protected] ~]# cat /root/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA4oRNlaIoefdsSuYmoLUdV7C2JtzKv6hd6UsC1FUEFfgjn/SV
5StzkVqnOWwEed77WOwW2my+n7pW6G3AyXtPAgrdih7Jpn6RG0AW3D0tkOlLN2/j
L3znlfsqGpQ63hBPRPjSswmCMILfRhOnY+KbsAEmeClcQIjUEsljomSMS2BT+zTZ
HyI1QLTdeET/DKxSrOcQPy+qNSSma7dAGDINNT8CVC7tdj62PVj1vgJ/lXJeTR79
wh0aKHuBfTp9zqBDVQRzAhjX4I3xBTwKh+tgdSrX55ltQqhxA0KaqvoB2ZCG5VuE
6U4XI8DUUEDtBY+AmCSUtWH+bDMwOI5ooNdL5wIDAQABAoIBAQCwO/lU+wX85sjF
eU0Cagc7S4xcrhm8hdUTBj5cTwzPvvCQqa3Z0DWpGFvUrDrLSvZJV93r8QFaqpKl
YYbF+38b+rIknRGMzRo+ll1y2tJR1YCk0BN0xfw0T2aRqVQno47Y/bKIg1RcQ+ZM
0kvAxfUVOb/ha2SP/STqvO8c0Jfqp78pwsEiT8BCRPERsFJR6E2QSjWJQu2QPRO+
Q51tHTVdzi4Z2jXjwbh/SwpKbK0zEsEa625RSocZXciT+b3IUYIZj0my0+Kmx6cE
cO5tZqxL3FE0NUQaGHhs3NCscoqb/oigRvNMxHY+9kP9+voI7GZGgf4lYZWO9FId
njjYc6q5AoGBAP/RnTw9SKLlHAa7ID8ThDe0BOIQKwPlyOKrV114MKbceuTHbdBc
NopzFF2Sg6MrCrgjyTvu9ymBcoHYNx0DdZQitI9cFLfD/7tgLmHCFBqxnc0aVmgg
9qGJ2hW3hM8lHK6mCCzdqlYF7R0UdkcoI6Cw5uznAKDE3Miesj7qyFZNAoGBAOKt
YDCgMeSRBWy0Jkf6RKP+cUvLGBNZOIyz8QerRhNN8FAjXQwun6yUrzdEq2GgOM4c
3GQKKSLikOn8jWczIPPA8/WIGEqIdWscDx2tjOCf2IID9bmWp1mIEo/66t9rQpqL
RUnCDC388aY7ddvAo/6yFd+PHvj3TXuJ2jPZfe0DAoGANszZaOkb4UFBErQNQVXV
8fTPQvoBrPERanUX3v77NRNwBAgwnvzR9jCWwUC8kDyNLEsGNZ+INMz1EZmWnNF7
44LXuQoZqhADfUkqRmjD08AOtLwanG3LR2l3XUWV3qXtkgAhKjNF5O2aEKusdqvD
jg23OjJ18Pqa7SMJve6fgdUCgYBytOGUObyFuY1RMOieS9soUb3raN7KC8A+E2DJ
TLatVidhpkOTwpQytRrlkO5Y/MdCJgCw7yNZ7+T9QzwbGRh3wRCzEyeXr+4bQZu0
nPpJQRpC0NYsEDynZeBe086/OHv/0LJDXNrk+rceM8C0b4uNe3juJHK78glXlq7A
xjKfGQKBgQDIOERmoRikK4qihhp6eKaVL8slCKNc+qxBhAWTr6Da4lfXrd8GkiNR
WPH4ZNHlIq6Cv8qZaypqdkrw9CsIHYDPQ3gSj/C3PMmXU24f6c2LkEhauOInK+22
qHHJv0blEfQWIs5Uj0yJC5qetGxyT+6n7kTdxgKzXteTX8ltDtvJqg==
-----END RSA PRIVATE KEY-----
[[email protected] ~]# 
[[email protected] ~]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDihE2Voih592xK5iagtR1XsLYm3Mq/qF3pSwLUVQQV+COf9JXlK3ORWqc5bAR53vtY7BbabL6fulbobcDJe08CCt2KHsmmfpEbQBbcPS2Q6Us3b+MvfOeV+yoalDreEE9E+NKzCYIwgt9GE6dj4puwASZ4KVxAiNQSyWOiZIxLYFP7NNkfIjVAtN14RP8MrFKs5xA/L6o1JKZrt0AYMg01PwJULu12PrY9WPW+An+Vcl5NHv3CHRooe4F9On3OoENVBHMCGNfgjfEFPAqH62B1KtfnmW1CqHEDQpqq+gHZkIblW4TpThcjwNRQQO0Fj4CYJJS1Yf5sMzA4jmig10vn [email protected]
[[email protected] ~]# 

我们现在启动两台linux,用户名分别是user_on_1和user_on_2

可以看到各自的ip和用户名。现在我们在user1上用ssh登陆user2

[[email protected] ~]$ ssh [email protected]

其实在IP后面应该还有个-p端口号,这里省略了。

发现是需要输入登陆密码的,不是我们要的结果。我们在user1的/etc/.ssh文件夹下查找authorized_keys这个文件,把use2的公钥放进去,重新登陆,应该就没问题了!

对了,要把.ssh文件夹的权限改成700,authorized_keys的权限改为600

chmod 700 .sshchmod 600 authorized_keys

ps:我这里说的是应该,因为我也没成功,网上查的资料说StrictModes设置有问题,改了依旧没成功,先记下来,随着Linux的学习留给以后解决吧——20190118.

原文地址:https://www.cnblogs.com/yinsedeyinse/p/10289496.html

时间: 2024-10-13 17:13:18

ssh密钥讲解的相关文章

ssh 配置文件讲解大全 ssh调试模式 sftp scp strace进行调试

ssh 配置文件讲解大全  ssh调试模式  sftp scp strace进行调试 http://blog.chinaunix.net/uid-16728139-id-3265394.html 最近在研究openssh的源代码,不得不折服它代码的精炼和彪悍,即便搞清楚了其架构和思路之后,愣是到头来愣是发现,其实这个小东西还是有很多不为人知却又是研究代码不得不了解的知识,偶然发现如此强悍的介绍, 利索当然地笑纳一下. 一)客户端与服务端的通讯认证流程: 第一阶段: 双方协商SSH版本号和协议,协

烂泥:学习ssh之ssh密钥随身携带

本文由秀依林枫提供友情赞助,首发于烂泥行天下 在上一篇文章<烂泥:学习ssh之ssh无密码登陆>中,我们讲解了如何使用ssh密钥,免密码登陆服务器. 这篇文章我们再来讲解,如何把已经生成的密钥随身携带. 有关如何生成ssh密钥的详细步骤,可以查看上一篇文章<烂泥:学习ssh之ssh无密码登陆>. 一.生成密钥 现在我们通过xshell生成密钥,注意:本章节,我只进行截图,不做进一步的文章说明. 如下: 我们现在有了公钥和私钥:id_dsa_150518.pub.id_dsa_150

MAC SSH密钥登陆

MAC SSH密钥登陆: 一般mac如果想通过ssh密钥登陆,常规的做法,自己生成密钥对,这样做的好处就是,自己只保留私钥即可,公钥 可以放置任意服务器, 如果接受别人给的私钥,只能存一个,如果有多个私钥给你,就不方便管理,所以建议自己生成密钥对,公钥上传服务器,具体步骤如下: 1.通过mac终端,ssh-keygen -t rsa -C"[email protected]"生成密钥对,公钥上传到服务器对应用户的.ssh/authorized_keys 2.本地可通过ssh  [ema

CentOS6.5 下SSH密钥登录详解

一.密钥登录的必要性 一般地,密钥登录SSH比账户密码登录要安全,有时候公司需要给新来的同事配置服务器登录,一般都是直接配置密钥登录. 二.SSH密钥登录步骤 1.密钥的生成 一般有很多办法生成密钥.我们在此,使用正服务器上使用SSH-genkey来生成密钥,用客户端的puttygen来转换的办法. 如下图: 其中-t是表示加密方式.然后修改公钥名称为authorized_keys. 另外,要确保.ssh目录的权限为600,如不是,则使用chmod 600 .ssh 来设置.主要是为了防止他人在

ssh密钥转发(Linux和Windows)

前言 一般公司的服务器放在外网时,都会设置一个跳板机,访问公司其他服务器都需要从跳板机做一个ssh跳转(防火墙规则会做相应配置),而前文讲过,外网的服务器基本都要通过证书登录的.于是我们面临一个情况,本机ssh->跳板机->目标机器.如果是密码验证,这个问题都不到,但是对于证书登录,就带来一个ssh密钥转发的问题. linux ssh客户端密钥转发 如果是linux客户端,从linux客户端的ssh跳转过去时,一般我们会执行命令 ssh [email protected]跳板机ip 然后我们在

《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令

2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会改进,还没买的小伙伴们可以买第二版. 一.安装1.安装要求:控制服务器:需要安装Python2.6/2.7被管理服务器:需要安装Python2.4 以上版本,若低于Python2.5 需要安装pythonsimplejson;若启用了selinux,则需要安装libselinux-python 2.yum安装

git配置ssh密钥

如果主机(当前登录用户)之前没有git账号,即添加第一个git账号,并配置ssh密钥时, 按照如下的步骤: 1 cd  ~/.ssh 2 ssh-keygen -t rsa -C '[email protected]' 3 cat id_rsa.pub 4 拷贝公钥到git服务器上 5 测试:git clone [email protected]:liulian/mahout-0.9-custom.git 附加信息: 1 ssh-keygen -t rsa -C '[email protecte

生成ssh密钥

打开Git Bash,生成ssh密钥: ssh-keygen -t rsa -C "[email protected]"

git使用ssh密钥

git使用https协议,每次pull, push都要输入密码,相当的烦.使用git协议,然后使用ssh密钥.这样可以省去每次都输密码. 大概需要三个步骤:一.本地生成密钥对:二.设置github上的公钥:三.修改git的remote url为git协议. 一.生成密钥对.=============大多数 Git 服务器都会选择使用 SSH 公钥来进行授权.系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个.生成公钥的过程在所有操作系统上都差不多.首先先确认一下是否已经有一个公钥了