搭建集群机器192.168.0.100和192.168.0.200里,需要两台机器中间相互拷贝文件:

方式一:下载192.168.0.100机器文件到本地,再将本地文件拷贝到B机器

方式二:192.168.0.100#scp  -r /home/test  root@192.168.0.200:/home/

linux命令scp可以在两台服务器192.168.0.100和192.168.0.200之间互传文件。第一次会提示授权操作,输入yes后在输入root用户的密码,会将192.168.0.100机器的/home/test文件拷贝到192.168.0.200机器的/home下。

现每次192.168.0.100和192.168.0.200之间互传文件都要输入密码比较麻烦,现介绍一种采用公钥/私钥认证的方式去掉密码登录。

注意点:

1.互传文件为同一登录用户root

2.秘钥存放位置为当前登录用户下 #cd ~/.ssh  可查看

一:创建一个ssh key

192.168.0.100机器执行如下代码:

$ ssh-keygen -t rsa -C "your_email@example.com" -t rsa-test

代码中各个参数含义为:

-t 指定密钥类型,默认是 rsa ,可以省略

-C 设置注释文字,比如邮箱,可以忽略

-f 指定密钥文件存储文件名,使用默认文件名(推荐);那么可以看到生成的两个文件 id_rsa  id_rsa.pub(id_rsa这个叫私钥;id_rsa.pub这个叫公钥)

 

接着又会提示你输入两次密码(该密码是你push文件的时候要输入的密码,而不是github管理者的密码),

当然,你也可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到github上了,如:

Enter passphrase (empty for no passphrase):
# Enter same passphrase again:

接下来,就会显示如下代码提示,如:

Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

当你看到上面这段代码的收,那就说明,你的 SSH key 已经创建成功,你只需要添加到github的SSH key上就可以了。

二:将机器192.168.0.100上的公钥发送到机器192.168.0.200的~.ssh/authorized_keys里

服务器为:192.168.0.100
192.168.0.100# scp /home/root/.ssh/id_rsa.pub root@192.168.0.200:/home/root/.ssh
服务器为:192.168.0.200
192.168.0.200#cd ~/.ssh
192.168.0.200#cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

注意:如192.168.0.200机器的/home/root/.ssh下存在id_rsa.pub会将文件内容覆盖,因此我们可以将新公钥进行文件的追加。

三:执行复制操作

192.168.0.100#scp  -r /home/test  root@192.168.0.200:/home/

如还需要密码,则在192.168.0.200服务器里的/etc/ssh/sshd_config文件,关键字PubkeyAuthentication 确保这个值是 yes;若这个sshd_config有修改,则需要重启sshd(#service sshd restart)

四:权限问题

192.168.0.200服务器里查看:

/home/root文件夹的权限为 700,即 显示的权限应该是 drwx------

/home/root/.ssh文件夹的权限也为700
/home/root/.ssh/authorized_keys 文件权限为600,即,显示的权限应该是 -rw-------

完毕之后,退出服务器的登录,再使用ssh登录,你就会发现服务器不会再向你询问密码了.

五:调试

192.168.0.100# ssh admin@192.168.0.200 -vvv

六:问题总结

目标机器配置SSH

#vi /etc/ssh/sshd_config
//更改为下面行
PermitRootLogin yes
#systemctl restart sshd

https://community.qingcloud.com/topic/1140/%E5%85%B3%E4%BA%8Essh%E6%97%A0%E6%B3%95%E7%99%BB%E9%99%86%E7%9A%84%E6%8E%92%E6%9F%A5%E6%80%9D%E8%B7%AF

https://blog.csdn.net/menghuanbeike/article/details/78958015 

【原】linux两台服务器之间免密登录方法的更多相关文章

  1. 【Linux】两台服务器ssh免密登录

    背景: 有些场景可能用到两台服务器ssh免密登录.比如服务器自动化部署 开始准备:  服务器A  linux   ip: 192.168.1.1 服务器B  linux  ip: 192.168.1. ...

  2. SSH远程登录:两台或多台服务器之间免密登录设置

    有两台(或多台)同局域网的服务器A:192.168.2.21,B:192.168.2.25.让A,B这两台服务器之间能两两互相免密登录,并且每台服务器都可以自我免密登录(自我免密登录即:ssh loc ...

  3. 多台服务器-SSH免密登录设置

    在4台服务器-SSH免密登录设置,如以下4台服务器 master1 node001 node002 node003 我想在master1对4台服务器进行拉取或者分发任务或者是集群服务器的批量操作,但是 ...

  4. Linux 两台服务器之间传输文件和文件夹

    今天处理一个项目要迁移的问题,突然发现这么多图片怎么移过去,可能第一时间想到的是先从这台服务器下载下来,然后再上传到另外一台服务器上面去,这个方法确实是可行,但是实在是太费时间了,今天我就教大家怎么快 ...

  5. 两个linux服务器之间免密登录

    服务器A(假设为10.64.104.11) 免密登录服务器B(10.64.104.22) 1.登录服务器A 2.生成公私钥 ssh-keygen -t rsa 3.将生成的.pub文件发送到服务器B上 ...

  6. Linux服务器之间免密登录设置

    说明: A为linux服务器a B为linux服务器b 每台linux都有ssh的服务端和客户端,linux下的ssh命令就是一个客户端 我们常用ssh协议来进行登陆或者是文件的拷贝,都需要密码 A要 ...

  7. Linux 两台服务器之间传递文件

    参考: https://www.cnblogs.com/clovershell/p/9870603.html linux采用scp命令拷贝文件到本地,拷贝本地文件到远程服务器   // 假设远程服务器 ...

  8. linux两台服务器之间文件/文件夹拷贝

    跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹---------------------------------------------- 把当前文件夹t ...

  9. Linux 两台服务器之间传输文件

    一.scp命令的使用 1.传输文件(不包括目录) 命令格式:scp 源文件路径目录/需要传输的文件 目标主机的用户名@目标主机IP/主机别名:目标主机存储目录 举个例子:scp /root/ceshi ...

随机推荐

  1. Python记通用列表操作之切片!

    ______________________________________除使用索引(indexing)来访问单个元素外,还可使用切片 (slicing) 来访问特定范围内的元素. 切片适用于提取序 ...

  2. xml配置文件中对于Shiro 权限管理filterChainDefinitions过滤器配置

    博客转载:http://blog.csdn.net/userrefister/article/details/47807075 /** * Shiro-1.2.2内置的FilterChain * @s ...

  3. Java基础(十二)之包和权限访问

    软件包 软件包解决了两个类名字一样的问题.软件包就是一个"文件夹". 包名的命名规范:1.要求所有字母都小写:2.包名一般情况下,是你的域名倒过来写.比如baidu.com,pac ...

  4. 如何获取object数据的描述符

    const data = { portLand: '78/50', Dublin: '88/52', Lima: '58/40' } Object.defineProperty(data, 'Lima ...

  5. 【C语言】(指针) 将两个数排序

    原理就不讲了,这里用来理解指针的使用方法 代码1: #include <stdio.h> int main() { int a, b;/* 实际变量的声明 */ int* p, * q;/ ...

  6. 记一道简单的re--BUUctf reverse1

    1.首先拖进ida里,看到了左面一百多function...还是shift+f12 查看敏感字符串吧 2.发现了这两个比较可疑的字符串,然后双击this is the right flag 进入到了他 ...

  7. 第五节: 前后端交互之Promise用法和Fetch用法

    一. Promise相关 1.说明 主要解决异步深层嵌套的问题,promise 提供了简洁的API 使得异步操作更加容易 . 2.入门使用 我们使用new来构建一个Promise Promise的构造 ...

  8. Hadoop架构: 流水线(PipeLine)

    该系列总览: Hadoop3.1.1架构体系——设计原理阐述与Client源码图文详解 : 总览 流水线(PipeLine),简单地理解就是客户端向DataNode传输数据(Packet)和接收Dat ...

  9. 关于C++指针、引用和const关键字的各种关系

    #include <stdio.h> #include<iostream> using namespace std; typedef char *new_type; int m ...

  10. django+vue 基础框架 :vue

    <template> <div> <p>用户名:<input type="text" v-model="name"&g ...