Linux 实现密钥免密登录

环境:CentOS 7

一、 创建密钥

登录Linux,进入/root/.ssh/目录下

执行ssh-keygen -t rsa创建密钥一直回车即可,因为是免密所以直接回车略过;执行完之后会在/root/.ssh/下生成两个文件id_rsa、id_rsa.pub分别为私钥和公钥,如果对密钥长度有限制的话可以执行ssh-keygen -t rsa -b 4096

二、创建信任

把生成的公钥文件id_rsa.pub下载、上传到目标服务器上,也可以直接通过命令ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.1传过去,不过命令默认端口是22

登录目标服务器,相同的目录/root/.ssh/下查看有没有authorized_keys文件,没有的话需要创建一个,命令是touch authorized_keys ,创建后授权600 ,把公钥文件id_rsa.pub追加到authorized_keys文件中,命令是 cat 192.168.1.1.pub >> authorized_keys,注意是双箭头>>单箭头会覆盖文件中的内容。

三、免密登录

ssh root@192.168.1.55  *//这种是使用自己的公钥登录目标服务器

使用公钥登录,需要把本地生成的公钥添加到目标服务器的 authorized_keys文件中

使用目标服务器的私钥登录,需要两步

第一步:在目标服务器上生成密钥对,把目标服务器自己的公钥添加到目标服务器自己的 authorized_keys信任文件中

第二步:把目标服务器的私钥拷贝到你本地的服务器

# 这里的 id_rsa 私钥文件是目标服务器的私钥文件
ssh -i id_rsa root@192.168.1.5

四、免密登录普通用户

  1. 流程大致一样,root用户是在/root/.ssh/目录下;普通用户是在/home/用户/.ssh/目录下,没有的话需要手动创建

  2. mkdir /home/demo/.ssh  //创建文件夹,授权700
    touch /home/demo/.ssh/authorized_keys //创建文件,授权600
    cat /home/demo/.ssh/id_rsa.pub >> /home/demo/.ssh/authorized_keys //追加公钥
  3. 基于密钥认证的配置

    vim /etc/ssh/sshd_config

    PasswordAuthentication no //禁止使用基于口令认证的方式登陆

    PubkeyAuthentication yes //允许使用基于密钥认证的方式登陆

    /etc/init.d/sshd reload

五、网上找到的一些资料

1、普通用户切换到root权限且无需输入密码,在root模式下进行以下操作

visudo  //最后一行加入
Cmnd_Alias SU = /bin/su
oper ALL = (root) NOPASSWD: SU

六、实践操作

ssh-keygen
[root@hdss7-200 ~]# cd .ssh/
ssh-copy-id hdss7-200.host.com
scp -r .ssh/ 10.4.7.11:/root/

Linux 实现密钥免密登录的更多相关文章

  1. Linux 双向 SSH 免密登录

    原理 双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录.双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要实现集群中的每一台机器都保存其他所有 ...

  2. linux 远程ssh免密登录

    写在前面 先说说需求: 我们平时开发.运维操作linux过程中经常需要实现将远程文件拷贝到本地或者本地文件拷贝到远程:执行远程命令等操作:这个时候建立ssh免密登录应该是一个比较好的选择: 原理 在l ...

  3. linux上ssh免密登录原理及实现

    因为我的服务器集群需要回收日志到中央进行统一处理,所以需要建立ssh互信关系实现免密登录.关于ssh的使用大家可能都很熟悉了,我们今天主要来讲下ssh连接和免密登录的原理. scp 传输文件 scp( ...

  4. Linux机器间ssh免密登录

    前言 一台Linux机器通过ssh的方式连接别的机器或通过scp的方式传输文件,都需要输入密码. 为了解决每次输入密码的困扰,可采用添加密钥的方式实现. 实现过程 源服务器A,目标服务器B. 1.在源 ...

  5. Linux的SSH免密登录(一)

    1.从cp/scp命令出发 scp(secure copy)是linux系统下基于ssh登录进行安全的远程文件拷贝的命令. 1. 传递文件到远程 scp local_file remote_usern ...

  6. linux 配置ssh免密登录

    一.SSH概念(百度) SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是目 ...

  7. 【Linux】ssh免密登录

    一.ssh免密配置 ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例.有机器A(192.168.1.155),B(192.168. ...

  8. Linux的SSH免密登录认证过程研究

    一.先看下SSH免密登录使用到的工具和生成的文件 工具:ssh-keygen用于生成秘钥文件,其中秘钥分为公钥和私钥.ssh-copy-id用于复制公钥文件到被控制机. 文件:ssh-keygen生成 ...

  9. Linux服务器配置SSH免密登录

    SSH为Secure Shell的缩写,由IETF的网络小组(Network Working Group)所制定:SSH为建立在应用层基础上的安全协议.SSH是目前较可靠,专为远程登录会话和其他网络服 ...

随机推荐

  1. asp.net core appsetting.json 绑定读取

    appsettings.json中,具有: "AppSettings": { "AzureConnectionKey": "***", &q ...

  2. springboot(4)Druid作为项目数据源(添加监控)

    参考博客:恒宇少年:https://www.jianshu.com/p/e84e2709f383 Druid简介 Druid是一个关系型数据库连接池,它是阿里巴巴的一个开源项目.Druid支持所有JD ...

  3. 今天成功完成二维码扫描程序, 利用zxing

    利用的网上参考文档是https://blog.csdn.net/gorky_19/article/details/78454030,里面介绍了如何修改build.gradle的dependency 和 ...

  4. URI(统一资源标识符)

    URI:统一资源标识符 (Uniform Resource Identifier) 统一资源标识符是一个用于标识某一互联网资源名称的字符串. Web上可用的每种资源 -HTML文档.图像.视频片段.程 ...

  5. Day02_CMS前端开发

    CMS前端开发 1 Vue.js与Webpack研究 参考链接:https://www.cnblogs.com/artwalker/p/13387386.html 2 CMS前端工程创建 2.1 导入 ...

  6. Day03_SpringCloud2

    学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"乐优商城"获取视频和教程资料! b站在线视频 0.学习 ...

  7. MacOS下ElasticSearch学习(第一天)

    ElasticSearch第一天 学于黑马和传智播客联合做的教学项目 感谢 黑马官网 传智播客官网 微信搜索"艺术行者",关注并回复关键词"elasticsearch&q ...

  8. luogu P5473 [NOI2019]I 君的探险 交互 随机 二分 分治 整体二分

    LINK:I 君的探险 神仙题! 考虑一个暴力的做法 每次点亮一个点 询问全部点 这样询问次数为 \(\frac{n\cdot (n-1)}{2}\) 可以通过前5个点. 考虑都为A的部分分 发现一个 ...

  9. ABAP 动态备份自建表数据到新表(自建表有数据的情况下要改字段长度或者其他)

    当abaper开发好一个程序给用户使用一段时间后,发现某个字段的长度需要修改,但数据库表中已经存在很多数据,冒然直接改表字段可能会导致数据丢失,这种问题的后果可能非常严重. 所以我想到先复制出一个新表 ...

  10. 【NOIP2013】火柴排队 题解(贪心+归并排序)

    前言:一道水题. ----------------------- 题目链接 题目大意:给出数列$a_i$和$b_i$,问使$\sum_{i=1}^n (a_i-b_i)^2$最小的最少操作次数. 首先 ...