联系管理员

开通文章发布权限

扫码 添加微信
微信图片
电话:18888888888 QQ:

Linux SSH:一键免密,远程无忧

1、场景

在日常使用中,同一局域网中的服务器去访问另一个服务器,肯定是需要使用ssh去访问,而每次都需要输入密码,也给使用带来很多不便,尤其密码复杂度较高的时候,这样我们就可以配置上客户端访问服务端的免密登录,还有就是在使用ansible去管理多个服务器的时候,也是需要为ansible服务器配置为免密登录被管理服务器的形式,否则无法使用ansible去管理。
但是也会有弊病就是,如果跳板机或者ansible服务器被入侵的话,所有的服务器都暴漏出来。所以安全管理这方面也需要重视起来。

2、原理

image
即在客户端上生成一份公钥和一份私钥,将公钥以ssh-copy-id命令复制到服务端授权列表(authorized_keys)。当客户端带着公钥申请连接服务端时,服务端首先在authorized_keys中查找是否存在该公钥,如果存在则开始进行验证,否则就提示输入密码。首先生成一个随机字符串,利用对应公钥进行加密,然后返回给申请连接的服务器,申请连接服务器利用私钥进行解密,再将字符串返回给目标服务器完成验证,进行后续操作。

3、配置

ssh-keygen -t rsa -f ~/.ssh/id_rsa -N ''
ssh-copy-id root@IP

命令解释:
ssh-keygen 用于为ssh生成、管理和转换认证密钥,包括 RSA 和 DSA 两种密钥。默认使用RSA密钥。

  • -t:此参数就是产生密钥的类型,默认是rsa,可以指定dsa | ecdsa | ed25519 | rsa | rsa1。

  • -f:指定文件路径和文件名

  • -N:提供一个新的密码,就是在登录的时候还是需要输入密码,为空就行。
    ssh-copy-id 就是将产生的公钥发送到,相应服务器的授权列表中,就是authorized_keys文件中。(这个过程中会让你输入一次对应服务器的密码)
    image
    示例:
    image
    image

相关文章

neo4j部署手册
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
DataX和DataX-WEB 安装步骤
DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、 MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。
K8S集群搭建手册(集群版)
kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
Apollo部署手册
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

评论

快捷导航

把好文章收藏到微信

打开微信,扫码查看

关闭

还没有账号?立即注册