美文网首页
两台linux服务器免密传输配置

两台linux服务器免密传输配置

作者: Mark_Du | 来源:发表于2019-03-03 00:47 被阅读1次

两台linux服务器免密传输配置

两台linux之间,免密配置好之后,可以免密ssh登录,可以免密传输文件,方便使用,另外在jenkins部署应用的时候,也会用到

两台服务器,分别是A,B
A上面的用户userA,密码passA
B上面的用户userB,密码paasB
在这两个用户之间配置免密

这里,我们以设置A到B的免密传输为例

1.首先,确定两台机器可以正常传输文件
从A到B

scp tmp.txt userB@192.168.1.2:/home/userB

scp是 secure copy的缩写,可能也可以理解为ssh copy ,scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
这个命令的使用方法

scp命令:
1、本地文件拷贝到远程服务器:  scp  文件名 用户名@计算机IP(或者计算机名称):远程路径
2、从远程服务器将文件拷回本地:scp  用户名@计算机IP(或者计算机名称):文件名本地路径
3、将本地目录拷贝到远程服务器:scp -r 目录名   用户名@计算机IP(或者计算机名称):远程路径
4、从远程服务器将目录拷回本地:scp -r 用户名@计算机IP或者(或者计算机名称):目录名本地路径

我们需要把tmp.txt拷贝到B服务器下的/home/userB目录,使用userB账号
执行上面的命令后,会要求输入userB的密码,正确输入userB的密码,文件会正确拷贝到B服务器的/home/userB目录下

如果拷贝失败,查看B服务器的/etc/ssh/sshd_config文件,关键配置

PasswordAuthentication yes

有可能这一项设置成了no
若这个sshd_config有修改,则需要重启sshd

service sshd restart

2.使用useA登录到A机器上,执行命令

ssh-keygen -t rsa -P ""

这个命令用来生成基于userA用户的A服务器的秘钥对
-P "" 表示不设置密码

命令执行后,一路按回车,直到执行完成。
此时,在userA的用户目录下,会生成一个 .ssh目录,这个目录是隐藏的,直接ls是无法看到的,

cd /home/userA/.ssh
ls

可以看到生成的两个文件 id_rsa id_rsa.pub
id_rsa 这个叫私钥
id_rsa.pub 这个叫公钥

3.将 id_rsa.pub 拷贝到 B机器上,可以通过自己电脑的中转拷贝,也可以用上面的scp命令拷贝
然后,到B机器上,执行命令:

cat id_rsa.pub >> /homg/userB/.ssh/authorized_keys

命令的意思就是将 id_rsa.pub 的内容,追加到authorized_keys这个文件中
为何是追加呢,因为如果有多台服务器要建立到B机器的免密登录,都需要将公钥写到这个文件里
为何我们要采用这种方式写入,而不是直接拷贝公钥内容过来呢
因为有时候在拷贝过程会出问题,比如换行,空格等等
直接通过命令追加,能够避免这些问题
通过命令

cat id_rsa.pub
cat /homg/userB/.ssh/authorized_keys

查看是否正确追加

4.在A机器上,执行

scp tmp.txt userB@192.168.1.2:/home/userB

如果没有要求输入密码,就执行成功,则证明配置成功,如果还是需要密码,参考下面第五步

5.首先,查看B服务器的/etc/ssh/sshd_config文件,关键字PubkeyAuthentication 确保这个值是 yes
若这个sshd_config有修改,则需要重启sshd

service sshd restart

然后,使用命令
ls -l
查看B服务器文件及文件夹的权限
/home/userB 文件夹的权限为 700,即 显示的权限应该是 drwx------
/home/userB/.ssh文件夹的权限也为700
/home/userB/.ssh/authorized_keys 文件权限为600,即,显示的权限应该是 -rw-------
如果不是上述权限,使用命令chmod来修改
命令示例

chmod 700 /home/userB

设置完成后,在A服务器使用scp命令测试,如果还是无法免密,在A服务器上执行命令

ssh -vvv userB@192.168.1.2

最后的ip是B服务器的ip地址
执行完成后,会得到一长串的打印输出,查看错误,然后百度吧。。。

相关文章

  • 两台linux服务器免密传输配置

    两台linux服务器免密传输配置 两台linux之间,免密配置好之后,可以免密ssh登录,可以免密传输文件,方便使...

  • Linux免密登陆

    参考 Linux机器之间免密登录设置 1. 配置两台Linux服务器,均为Centos7 master: 192....

  • Linux服务器集群批量修改密码

    笔者以前写过linux集群配置免密—局域网中服务器群配置ssh免密。为了完成等保测评的定期修改密码的要求,今天在此...

  • 配置客户端免密远程登陆Linux服务器和GitHub

    客户端: Windows MacOS Linux 服务器: Linux 配置免密登陆步骤: 1.生成私钥文件 在客...

  • Linux配置免密登录的两种方式

    在使用linux的过程中,为了省去每次连接输入密码的麻烦,通常会为服务器配置免密登录。配置免密登录的方式有两种:1...

  • ssh 免密

    ssh 免密登录 环境需求: 服务器1:192.168.110.97 服务器2:192.168.110.98 两台...

  • 免密登录Linux

    免密登录Linux 将SSH公钥上传到Linux服务器,

  • SSH免密登录一步搞定

    SSH免密登录 服务器A实现免密登录服务器B。(基于Linux服务器) 实现过程 一、服务器A公钥的生成 服务器A...

  • Liunx下ssh免密登录

    演示从172.16.10.172免密登录到172.16.101.73两台服务器的hostname 172.16.1...

  • linux机器间免密登录

    linux机器间免密登录 1、首先有两台机器(A、B) 2、想通过A免密登录B 首先在A中生成公钥,ssh-k...

网友评论

      本文标题:两台linux服务器免密传输配置

      本文链接:https://www.haomeiwen.com/subject/jqmuuqtx.html