linux系统密码正则,Linux密钥登录原理和ssh使用密钥实现免密码登陆

目录

1、公私钥简介与原理

公钥和私钥都属于非对称加密算法的一个实现,这个加密算法的信息交换过程是:

1) 持有公钥的一方(甲)在收到持有私钥的一方(乙)的请求时,甲会在自己的公钥列表中查找是否有乙的公钥,如果有则使用一个随机字串使用公钥加密并发送给乙。

2) 乙收到加密的字串使用自己的私钥进行解密,并将解密后的字串发送给甲。

3) 甲接收到乙发送来的字串与自己的字串进行对比,如过通过则验证通过,否则验证失败。

非对称加密算法不能使用相同的密钥进行解密,也就是说公钥加密的只能使用私钥进行解密。

2、使用密钥进行ssh免密登录

ssh使用私钥登录大致步骤就是:主机A(客户端)创建公钥私钥,并将公钥复制到主机B(被登陆机)的指定用户下,然后主机A使用保存私钥的用户登录到主机B对应保存公钥的用户。

(1) 实验环境

两台主机:

1) 主机A(客户机):192.168.187.137

2) 主机B(被登陆机):192.168.187.143

(2) 实验开始

在需要免密登陆的主机(主机A)下生成公钥和私钥

# ssh-keygen -t rsa ##-t rsa可以省略,默认就是生成rsa类型的密钥

说明:命令执行后会有提示,输入三次回车即可,执行完成后会在当前用户的.ssh目录下生成两个文件:id_rsa、id_rsa.pub文件,前者时私钥文件,后者是公钥文件(拷贝到其他主机只需要拷贝这个文件的内容)

将公钥复制到被登陆的主机上的 ~/.ssh/authorized_keys 文件中

拷贝公钥有两种方法,其原理都相同:

方式一:使用 ssh-copy-id 直接拷贝

使用 ssh-copy-id 进行拷贝公钥非常方便,只需要指定目标主机和目标主机的用户即可。

# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.187.142

执行这条命令后会自动将登录主机的公钥文件内容追加至目标主机中指定用户(root).ssh目录下的authorized_keys文件中。这个过程是全自动的,非常方便。

方法二:自己创建文件进行拷贝

1) 在登录主机(客户机)上创建authorized_keys文件并将公钥追加到该文件。

先cd到登录机使用的用户下的 .ssh 目录,方便操作

# cat id_rsa.pub >> authorized_keys

# chmod authorized_keys ##修改文件权限为600,该文件有规定如果属组其他人出现可写则文件就不会生效

2) 在被登录机的指定用户家目录下创建 .ssh 目录(这里在root用户下创建,因为要使用密钥登陆到root用户)

# mkdir .ssh

# chmod .ssh ##将目录权限改为700该目录的权限必须是700才有效

3) 将登录机创建的authorized_keys文件拷贝到被登录机,使用scp

# scp authorized_keys root@192.168.187.142:/root/.ssh/

authorized_keys % .4KB/s :

登录

使用主机A乙root用户身份登陆到主机B

# ssh root@192.168.187.142

Last login: Wed Feb :: from 192.168.187.137

首次登录将弹出保存信息,输入yes即可,此时已经实现了免密的密钥登陆。

注意事项和说明

上例只能实现主机A免密登陆到主机B的root用户,如果想让主机B也免密登录到主机A,创建密钥和拷贝步骤相同。

密钥登陆的方式只能登录被登录机中 .ssh 目录下有对应公钥的用户,如果想让所有用户都可以被登录则需要将authorized_keys文件的内容追加到其他用户的 ~/.ssh/authorized_keys 文件中。

如果使用自己创建的authorized_keys文件进行复制公钥则要严格设置权限,权限不正确会导致文件无法使用,也就无法进行密钥验证。

3、 ssh的两种登陆方式介绍

(1) 口令验证登录

4d7dca5d9a3558b11f5a5a4136611b1b.png

(2) 密钥验证登录

密钥验证的前提需要登陆主机生成一对密钥(公钥和私钥),并将公钥放置在服务器上。

3772f922f0a3a793c27f111d1b39d3be.png

4、 总结

ssh密钥登录可以实现免密登录,免密登陆有很多用途:例如scp免认证、rsync备份免交互等一切使用ssh认证的地方均可以免交互,也就实现了自动化。

密钥认证的大概步骤

1) 客户端(登录主机)生成一对密钥:#  ssh-keygen

2) 将客户机的公钥复制到服务端(被登陆主机)要登录的用户的 ~/.ssh/authorized_keys 文件中:#  ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.187.142

注意:如果使用自己复制的方法,一定要注意.ssh目录和authorized_keys文件的权限,前者是700,后者是600

3) 使用客户机ssh连接服务端或者使用ssh协议认证的程序即可实现免密,免交互

注意:要想两端登录同时免密,就在主机B(被登陆机)也创建密钥然后将公钥拷贝到主机即可。

个人公众号(linuxjsz)

专注IT技术、知识分享,面试资源共享、讲解

只做全网最比心的公众号,欢迎你的关注!

linux如何配置双机SSH信任然后双向免密码登陆 www.111cn.net 更新:2015-01-14 编辑:edit02_lz 来源:转载 有时为了方便管理多台Linux主机,想实现双机之间信任 ...

[Linux] ssh秘钥对免密码登陆

准备两台linux服务器 a和b , 在a上使用ssh命令登陆b服务器 , 并且不用 输入密码 1.在a服务器上,比如是root用户 ,进去/root/.ssh目录 ,没有就创建, 就是进入家目录的. ...

Jenkins进阶系列之——09配置Linux系统ssh免密码登陆

ssh认证的完整描述:https://www.ibm.com/developerworks/cn/linux/security/openssh/part1/ 说明:点我去查看 今天我们只说生成ssh的 ...

linux centOS服务器部署ssh,免密码登陆linux

登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录 2 创建钥匙, [xun@jzlinux ~]$ ssh-keygen -t rsa Generating public/priv ...

配置ssh连接会话复用免密码登录

我们经常使用ssh连接远程主机,为了方便,避免每次登录输入密码,通常使用密钥登录.如果没有设置密钥, 则需要使用密码登录了,若每次都输入密码则十分繁琐.我们可以设置ssh连接会话复用,则登录成功后,会 ...

hadoop搭建杂记:Linux下ssh免密码登陆

关于ssh免密码登陆的问题 关于ssh免密码登陆的问题 linux下可以用ssh-keygen来生成公钥/私钥对 ①生成id_rsa和id_rsa.pub公钥/私钥对,自动在~/.ssh下生成文件(亦 ...

实现一台Linux电脑连接另一台Linux(SSH实现linux之间的免密码登陆)

怎么实现一台Linux电脑连接另一台Linux电脑? 首先查看是否安装ssh服务:systemctl status sshd.service 启动服务:systemctl start sshd.ser ...

ssh keygen命令实现免密码通信(git库获取操作权限:开发人员添加到git库中,获取操作权限)

先看两个机器实现免密码登陆通讯: 假设 A 为客户机器,B为目标机: 要达到的目的: A机器ssh登录B机器无需输入密码: 加密方式选 rsa|dsa均可以,默认dsa 做法: 1.登录A机器 2.s ...

ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs

ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 第一部分:使用ssh key 实现服务器间的免密码交互登陆 步骤1: 安装openssh-clients [root@001 ...

随机推荐

IOS网络第七天WebView-03js中调用webView中的代码

*********** #import "HMViewController.h" @interface HMViewController ()

Nginx 笔记与总结(7)Location:正则匹配

在 /usr/local/nginx/conf/nginx.conf 的默认 server 段中,保留默认的 location 信息(之前测试的 location 配置删除): location / ...

BW增强数据源的两种方法

BW增强数据源的两种方法 2009-04-01, by SAPBI 前言:我们经常会遇到系统标准的数据源,或者我们自建的数据源无法满足要求的情况,这个时候在数据源中添加几个相关的字段,可能就能满足我们 ...

使用iphone5修剪视频的方法

iphone5有很高的视频拍摄质量,这人很多业余爱好者也加入了视频短片的拍摄当中.在拍摄视频的过程中,为了能够捕捉到精彩瞬间,常常会提前拍摄,并延迟结束拍摄,这样就给视频增加了很多无意义的片段.这时, ...

Python 信号量

信号的概念 信号(signal)--     进程之间通讯的方式,是一种软件中断.一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号. 几个常用信号: SIGINT     终止进程  中断进 ...

ubuntu_scrapy 安装

1:install pip python-dev    sudo apt-get install python-dev    sudo apt-get install libevent-dev     ...

Liniux系统下目录的权限意义

访问者及其基本权限 Linux系统内的文件访问者有三种身份,分别是: a) 文件和文件目录的所有者: u---User(所有权);b) 文件和文件目录的所有者所在的组的用户: g---Group;c) ...

select 训练

--1.查询"c001"课程比"c002"课程成绩高的所有学生的学号:SELECT b.sno FROM (SELECT * FROM sc WHERE cno ...

蛋疼zipline安装

比安装zipline更让人蛋疼的是,网上的教程没有一个是TM对的,真的是忍不住要吐血. 真的是一步一坑,一步一坑 安装环境: Windows7旗舰版,64位系统 python 版本3.5.3 我没有用 ...

asp.net --> 初识WCF

对于刚开始接触wcf的同志,可以有效的理解wcf的使用场景. 引用该文章(点击查看),简单的介绍wcf的使用.另一篇文章(点击查看),和上述文章内容差不多.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值