linux系统下两台服务器间无密码访问传输

来源:互联网 发布:大数据培训课程体系 编辑:程序博客网 时间:2024/06/06 16:42

      最近需要在脚本中对两台服务器的资源进行同步,用crontab定时运行这个sh脚本,问题出来的,sh脚本中的命令本身运行时,需要输入登入另一台服务器的密码。怎么才能解决让sh自动去运行,而不用人工处理呢?

     经过老程序员的提醒,告诉我可以采用ssh解决此问题,那么接下来我就开始说说如何解决。

     一. 方法1
如果要从一台服务器(比如:192.168.1.111)传输文件到另一个服务器(192.168.1.131),并且不需要每次输入对方密码

1.方法1

在192.168.1.111上
# ssh-keygen -t rsa

这一步是生成密钥

# scp ~/.ssh/id_rsa.pub root@192.168.1.131:~/.ssh/authorized_keys

2.方法2

     # ssh-keygen -t rsa
     # ssh-copy-id -i id_rsa.pub root@192.168.1.131

总结:可以看到这两种方法就是第二步不相同,不同的拷贝方式到远程服务器上而已。这样192.168.1.111上生成的密钥就拷贝到192.168.1.131上了。

完成后,192.168.1.111登录192.168.1.131就无需输入密码了。

 

在CetOS下这样做有时会出现无效的现象,只需执行如下命令,重新加载即可:

restorecon -R -v /root/.ssh

注意:root用户这里要根据你无密码登录的用户而定restorecon -R -v /{your login name}/.ssh


原创粉丝点击