写在前面

先说说需求:

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

原理

在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的非对称加密算法;非对称加密算法会分别产生公钥和私钥;

现在有两台机器:ServerA和ServerB,ServerA需要免密登录ServerB,我们先在ServerA生成公钥和私钥,把公钥拷贝到ServerB指定的文件下,ServerA就可以免密登录ServerB了;

以下方法一和方法二都是使用依据上面的原理实现;

方法一:使用ssh-copy-id 命令拷贝密钥:

1、ServerA执行ssh-keygen生成公私钥;

ssh-keygen

公私钥 默认生成路径/root/.ssh(这里的root是用户名,如果你是其他用户替换即可)

如图:这里会让你输入密钥的保护密码,我这里是一路回车(也就是不设置密钥密码)

生成的/root/.ssh的文件:

2、使用ssh-copy-id将公钥复制到ServerB中

ssh-copy-id -i id_rsa.pub文件 ServerB用户名@ServerB_Ip
#示例
ssh-copy-id -i /root/.ssh/id_rsa.pub root@139.199.196.67

这个过程需要输入ServerB对应用户密码。下图添加成功。

ok,搞定。

3、测试

ServerA执行:

ssh root@ServerB_Ip date
#示例
ssh root@139.199.196.67 date 得到:
Sat Jan 12 15:22:17 CST 2019 成功!

方法二:手工拷贝密钥

其实手工拷贝跟方法一的使用命令拷贝差不多,就是操作上原始一点;

1、生成公私钥:同方法一的步骤1;

2、手动将步骤1中ServerA生成的/root/.ssh/id_rsa.pub 拷贝到ServerB的/root/.ssh目录下并重命名authorized_keys

3、测试:同方法一的步骤3;

linux 远程ssh免密登录的更多相关文章

  1. Linux 双向 SSH 免密登录

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

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

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

  3. 【Linux】ssh免密登录

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

  4. linux服务器ssh免密登录

    环境:两台服务器,Park01.Park02,配置ssh免密登录 在Park01执行:ssh-keygen 然后一直回车 生成节点的公钥和私钥,生成的文件会自动放在/root/.ssh目录下   然后 ...

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

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

  6. Linux入门——SSH免密登录

    SSH免密登录 1.简介 SSH是一种网络协议,用于计算机之间的加密登录. 本文针对的实现是OpenSSH,它是自由软件,应用非常广泛. 2.初始化公钥私钥 有rsa,dsa两种加密方式,生成的公钥私 ...

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

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

  8. linux 配置ssh免密登录

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

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

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

随机推荐

  1. <玩转Django2.0>读书笔记:URL规则和视图

    1. 带变量的URL #urls.py from django.urls import path from .view import * urlpatterns = [ path('',index_v ...

  2. 针对 jQuery Gridly 控件显示多少列的问题。

    针对 jQuery Gridly 控件显示多少列的问题,完全根据 columns 的值来显示. 但是显示columns,并不是给多少值显示几列.到目前还是很模糊的.官方文档没有给出具体的一个解释. $ ...

  3. 操作系统PV编程题目总结一

    1.今有一个文件F供进程共享,现把这些进程分为A.B两组,规定同组的进程可以同时读文件F:但当有A组(或B组)的进程在读文件F时就不允许B组(或A组)的进程读文件F.试用P.V操作(记录型信号量)来进 ...

  4. vimtutor——vim官方教程

    =============================================================================== =      欢     迎     阅 ...

  5. jquery中$.each()的用法

    each()函数是基本上所有的框架都提供了的一个工具类函数,通过它,你可以遍历对象.数组的属性值并进行处理.jQuery和jQuery对象都实 现了该方法,对于jQuery对象,只是把each方法简单 ...

  6. Tips_发送请求时添加一个随机数参数,让浏览器每次都重新发请求到服务器

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. (转)基因芯片数据GO和KEGG功能分析

    随着人类基因组计划(Human Genome Project)即全部核苷酸测序的即将完成,人类基因组研究的重心逐渐进入后基因组时代(Postgenome Era),向基因的功能及基因的多样性倾斜.通过 ...

  8. su;su -;sudo;sudo -i;sudo su;sudo su - 之间的区别

    今天我们来聊聊su;su -;sudo;sudo -i;sudo su;sudo su -他们之间的区别. su :su 在不加任何参数,默认为切换到root用户,但没有转到root用户家目录下,也就 ...

  9. Linux的小知识点

    uname 2.whereis 3.df 4.which 5.apt和dpkg 6.service 7./etc/init.d/ 8.netstat -anptu 查看端口占用 9.netstat 1 ...

  10. java中List<Map<String, Object>>关于null的判断

    List<Map<String, Object>> selectTmFileInfo = fileInfoService.selectTmFileInfoByToken(cTo ...