灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2149回复:0

Linux服务器scp不需要密码配置

楼主#
更多 发布于:2012-12-20 15:24
Linux服务器scp不需要密码配置



案例:

▲服务器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    (连续回车,即在本地生成了公钥和私钥,不设置密码)



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 实现拷贝功能。

喜欢0 评分0
游客

返回顶部