美文网首页
关于ssh的密钥问题

关于ssh的密钥问题

作者: 某言 | 来源:发表于2019-06-06 17:29 被阅读0次

灵感(心德)是来源于在:设定服务器和远程git仓库的数据联通、设定jenkins服务传送文件过程中。只要了解了这个本质问题,其他的一些,尽然迎刃而解。


经历

一、在jenkins需要自动化获取仓库代码时候,代码托管平台一般需要认证,这个时候,需求是需要无密码拉取,这时候,通信的方式是ssh,代码托管平台一般就会要求添加ssh公钥,这时候,搭配上服务器的私钥,通
过认证,即可免密通信。
二、jenkins需要将文件打包传送到另一个服务器,两个服务器之间要免密通过ssh通信。在每个服务器的特定用户(比如root)的用户文件夹下面(/home/root/),有一个目录.ssh,里面有着相关的文件来达成这个目的。一般该目录下有如下文件:

authorized_keys  别的服务器的公钥,如此,别的服务器登录该服务器不用密码
id_rsa  该用户私钥
id_rsa.pub  该用户公钥
known_hosts

感悟

要登录一个服务器(的用户、jenkins、git等的验证),实际上原理都是私钥配公钥来达成认证,一对密钥是一个验证方式,一个用户,对于多个平台可以有多个ssh秘钥,私钥公钥都要存在,可改名字存储。


实践

目的:用我windows免密登录服务器:119.12.34.56
步骤:

  • windows用户生成密钥,命令行执行如下命令,基本可以一直回车,生成的ssh密钥会在用户文件夹下的.ssh目录:
# 当然还可以设定密码,名字等
ssh-keygen -t rsa -C "your_email@type.com"  

如果不规定名字默认是如下:

id_rsa  该用户私钥
id_rsa.pub  该用户公钥
  • 登陆119服务器(先用密码,此时不能免密),要设定哪个用户(user)免密登陆,就去到该用户.ssh目录下:
cd /home/user/.ssh

找到(或者创建)authorized_keys文件,然后,把window上产生的id_rsa.pub里面的内容拷贝到authorized_keys

  • 在window登陆时候,就可以使用命令
ssh -i path/id_ras user@119.12.34.56

意思就是使用配置的ssh密钥的私钥去登陆119.12.34.56的user用户,因为配置了公钥,可以成功。

可以形象的理解成,私钥是钥匙,公钥是锁。

相关文章

  • 关于ssh的密钥问题

    灵感(心德)是来源于在:设定服务器和远程git仓库的数据联通、设定jenkins服务传送文件过程中。只要了解了这个...

  • SSH-Keygen的使用

    SSH-Keygen的使用 昨天大致整理了下关于ssh连接服务器的文档,当时遇到了关于密钥的问题,今天便整理了关于...

  • 大数据完全分布式环境搭建

    .ssh权限问题 配置SSH 生成密钥对$>ssh-keygen -t rsa -P '' -f ~/.ssh/i...

  • 如何使用终端创建SSH密钥

    找到现有的SSH密钥对 生成新的SSH密钥对 使用非默认SSH密钥对路径 部署密钥 全局共享部署密钥 GitLab...

  • 使用 SSH 连接到 GitHub(gitea)

    文档#### 关于 SSH→ 使用 SSH 协议可以连接远程服务器和服务并向它们验证。 利用 SSH 密钥可以连接...

  • Git使用(三)

    用SSH连接GitHub 关于SSH: 使用SSH协议,你可以连接并验证远程服务器和服务。 使用SSH密钥,您可以...

  • 多台电脑共用一个ssh密钥

    一,将生成的ssh密钥复制出来 将生成的ssh密钥电脑的ssh文件复制出来放在新电脑的.ssh目录里 二,添加密钥...

  • 使用SSH连接到GitHub

    关于SSH 使用 SSH 协议可以连接远程服务器和服务并向它们验证。 利用 SSH 密钥可以连接 GitHub,而...

  • GitHub - SSH密钥

    检查现有的SSH密钥 在生成SSH密钥之前,您可以检查是否有任何现有的SSH密钥。 打开Git Bash。输入ls...

  • 生成ssh密钥并添加至github

    生成密钥 生成新的SSH key ssh-keygen -t rsa -C "邮箱"生成密钥.png 添加 ssh...

网友评论

      本文标题:关于ssh的密钥问题

      本文链接:https://www.haomeiwen.com/subject/saumtctx.html