案例:
▲服务器A对服务器B、C进行ssh连接,免输入密码
    或
▲服务器A向服务器B、C复制文件(源文件在服务器A上),免输入密码

主机A:192.168.0.221
主机B:192.168.0.227
主机C:192.168.0.228

1、首先每个服务器上执行一下命令脚本(主机A、B、C都执行,目的是生成公钥和私钥)

mkdir -p ~/.ssh

chmod 700 ~/.ssh

/usr/bin/ssh-keygen -t rsa    (连续回车,即在本地生成了公钥和私钥,不设置密码)

记住enter passphrase的别输入,否则登录的时候还是得输入密码密钥连接密码

2、然后再需要批量分发的主机上执行(目标主机B、C)

touch ~/.ssh/authorized_keys

方法一:
ssh 192.168.0.221 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
(上面这个命令的意思貌似是:将服务器192.168.0.221(主机A)上文件~/.ssh/id_rsa.pub的内容,追加到本地(主机B、C)文件~/.ssh/authorized_keys中)

说明:192.168.0.221是分发主机的IP地址(源主机A)
root@192.168.0.221's password: xxxxx    (在需要输入密码的时候输入密码)

方法二(也是一个比较简单的方法):(推荐)
直接登录到服务器192.168.0.221(主机A)上使用命令cat ~/.ssh/id_rsa.pub查看内容(公钥),将内容复制追加到主机B、C的文件~/.ssh/authorized_keys中(请注意不要删除或覆盖该文件中已有的内容)

3、在需要分发的主机执行(目标主机B、C)

chmod 600 ~/.ssh/authorized_keys

4、在分发主机验证(源主机A)

从主机A连接到主机B测试 ssh 192.168.0.227
从主机A连接到主机C测试 ssh 192.168.0.228

5、在分发主机(源主机A)上常见 scp.sh 文件,一般将文件设定到定时脚本 /etc/crontab 中,或单独手工执行。

从分发主机192.168.0.221向 192.168.0.227、192.168.0.228 分发文件

scp -r /usr/local/adsit/webapps/preroll/WEB-INF/classes root@192.168.0.227:/home/adsit/

scp -r /usr/local/adsit/webapps/preroll/WEB-INF/classes root@192.168.0.228:/home/adsit/

在分发主机执行 scp.sh 实现拷贝功能。

注意:

如果遇到登录失败的情况:我用的是centos版本是6.7,centos 具体不清楚从6点几版本开始对网络管理相当严格,需要在原来的基础上关闭selinux
使用命令 getenforce 查看 setlinux 状态
如果不是Disabled,则需要到/etc/selinux/config下,把SELINUX=enforcing 修改为 SELINUX=disabled,重启机器,ok。
对于暂时不能重启机器的,使用命令 setenforce 0 也可以,然后查看状态为 Permissive

(因为这个问题我是折腾了半天)

Linux私钥id_rsa转换成ppk

在linux下生成的ssh私钥为id_rsa,而很多软件是需要的私钥ppk格式,这里简单说下id_rsa怎么转换到ppk

需要的软件:puttygen.exe
1.下载puttygen
大家可以去http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html这个地址单独下载puttygen
2.转换成ppk格式
运行puttygen.exe-点击Conversions菜单项中的Import key,选择在linux下生成的id_rsa文件(默认文件位置:~/.ssh/id_rsa),成下面的图

然后点击Save private Key按钮就可以转换成ppk格式,如图.

好了大家可以看到已经把原来rsa格式的私钥转换成ppk的了,可以在winscp中导入使用了.

(转换完成)

Linux服务器 scp 不需要密码配置与密钥转换(id_rsa->ppk)的更多相关文章

  1. 如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server

    如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server 背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析 ...

  2. Linux远程登录ssh免密码配置方法(仅供参考)

    这篇文章主要介绍了linux远程登录ssh免密码配置方法,需要的朋友可以参考下(http://www.0834-3659999.com) 一.情景 公司刚上几台Linux,现在要把主机之间都能远程ss ...

  3. Linux 服务器上Redis安装和配置

    1.下载安装redis 在Linux服务器上,命令行执行以下命令(cd ./usr local/src 一般源码放在这里(推荐源码安装)) wget http://download.redis.io/ ...

  4. Windows连接Linux服务器中MySQL数据库-权限配置

    问题描述 在Windows系统中安装了监控MySQL数据库服务器性能的工具Spotlight on MySQL,利用Spotlight连接Linux服务器中的MySQL,进行相关配置如下:   点击& ...

  5. Linux实验:ssh免密码配置

    [实验目的]    1)了解ssh工具的作用    2)熟悉ssh配置过程    3)理解ssh原理[实验原理]    SSH是目前比较可靠的专为远程登录会话和其他网络服务提供安全的协议.不同主机之间 ...

  6. python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)

     -*-          paramiko.util.log_to_file(         ssh = paramiko.SSHClient()          ssh.set_missing ...

  7. Linux服务器下nginx的安全配置

    1.一些常识 linux下,要读取一个文件,首先需要具有对文件所在文件夹的执行权限,然后需要对文件的读取权限. php文件的执行不需要文件的执行权限,只需要nginx和php-fpm运行账户的读取权限 ...

  8. MQTT服务器搭建--Mosquitto用户名密码配置

    Mosquitto用户认证配置 前言:基于Mosquitto服务器已经搭建成功,大部分都是采用默认的是允许匿名用户登录模式,正式上线的系统需要进行用户认证. 1.用户参数说明 Mosquitto服务器 ...

  9. Linux服务器access_log日志分析及配置详解(二)

    默认nginx / Linux日志在哪个文件夹? 一般在 xxx.xxx.xxxx.com/home/admin 路径下面的error.log文件和access.log文件error_log logs ...

随机推荐

  1. java implement

    接口不能被实例化,但是可以声明一个接口类型的变量. eg. A implements B,则可以有B variableName = new A(),这和extends的用法是类似的 接口可被认为是纯抽 ...

  2. color the python console text

    //install termcolor module cd \ cd python27 cd scripts pip install termcolor pip install colorama // ...

  3. ImportError: No module named _winreg

    在Flask项目部署到linux上时出现了一个问题,但是在windows上是好的,没有问题.以下是bug Traceback (most recent call last): File "f ...

  4. jQuery图片无缝轮播插件;

    图片轮播这种效果在web开发中看常见,网上的插件也有很多,最近在整理项目的过程中,把之前的图片轮播效果整合了一下,整理成一个可调用的插件以做记录,也方便更多前端爱好者来学习使用:图片的轮播原理很简单, ...

  5. 撸一撸腾讯的微信支付(C#)

    一.前言 以往网上支付都是支付宝的天下,随着微信用户群的日益增多(其实,到现在我也不理解微信为嘛那么火,功能还没QQ强大,或许是公众号的原因?),先如今不上个微信支付你都不好意思说你系统支持在线支付. ...

  6. 【CentOS】安装配置vncserver

    参考资料: http://my.oschina.net/yankunren/blog/70042 安装过程 (1).检查vncserver是否已经安装 [root@Nginx canyouNgx]# ...

  7. Java compiler level does not match the version of the instal

    一.问题描述 新建了一个项目,workspace默认jdk编译版本是1.7的,新建项目使用的是jdk1.5的版本,肯定会报@override错误.这个时候,修改项目的compilor即可. 这时候,你 ...

  8. Leetcode#146 LRU Cache

    原题地址 以前Leetcode的测试数据比较弱,单纯用链表做也能过,现在就不行了,大数据会超时.通常大家都是用map+双向链表做的. 我曾经尝试用C++的list容器来写,后来发现map没法保存lis ...

  9. Sublime搭建nodejs环境(windows)

    1.下载nodejs,并安装ok后,配置好环境变量. 2.下载sublime text3 3.在package install 包中新增node插件(或者直接去SublimeText-Nodejs插件 ...

  10. JavaScript之引用类型讲解

    Object类型 Object类型是JavaScript中使用最多的一种类型.虽然Object的实例不具备多少功能,但对于在应用程序中存储和传输数据而言,它确实是非常理想的选择. 创建Object实例 ...