密钥对及sftp文件接口

写作背景:工作中,跨主机的文件传输,如果需要定时任务执行,需要解决后台执行中取消人机交互过程的动作,只能借助于密钥对。

示例:从132.77.255.36 访问 132.77.255.37 

密钥对是两台主机之间设置信任,能够免密码登录,避免人机交互过程。

1、进入客户端(132.77.255.36)的路径,在系统路径下的.ssh下存放秘钥配置

webusr@iomtimer1:/home/webgrp >cd $HOME
webusr@iomtimer1:/home/webgrp >ls -al
-rw------- 1 webusr webusr 9448 May 22 11:11 .sh_history
drwx------ 2 webusr webusr 256 Nov 15 2017 .ssh
-rw------- 1 webusr webusr 1364 May 18 11:10 .vi_history

2、在客户端(132.77.255.36)的.ssh下运行ssh-keygen -t rsa,生成公钥id_rsa.pub(如果文件已经存在的就别执行了直接copy,执行会导致文件内容重新生成,之前设置的密钥全部失效

webusr@iomtimer1:/home/webgrp/.ssh >cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS1N/PlyKiSY0fRwyvcNc9lEGOCHNebyqOYk0tA2VU4tHLe1qzhmqAmGm++TWRSxQVu68LYyCCnFphIwKPf+lfpOMuNQ3ydJxzLPUI9nPqoRQB6vCY+l4GPXfTM0/KAJroI3eyD+YPjKaTRfUjGtFX4s5bAnJ5qSvod5bz/PvHZ0rVjQLsdu3bWohdGd0EsMK+jmnKIdHfmAi3Bf5f57dYBVD0ilBUWse9ie7rd7DdZEajRWTY16Hw4fYZxZORNi9DXNqOUl7cEE7FCiZOSea9kBxQ4F+WSbpaPHWtDqxwVzHAYFQEyCKXakLHmnjLDrIZp6hY2VxQQqxaPDN6DqR3 webusr@iomtimer1

3、从客户端(132.77.255.36)获取id_rsa.pub,放到服务端(132.77.255.37)cd $HOME/.ssh/authorized_keys

4、在客户端(132.77.255.36)验证sftp [email protected] date

webusr@iomtimer1:/home/webgrp/.ssh >sftp [email protected] date
Connected to 132.77.255.37.
sftp>

5、在客户端(132.77.255.36)sftp登录 

webusr@iomtimer1:/home/webgrp/.ssh >sftp [email protected]
Connected to 132.77.255.37.
sftp>

6、注意事项

1)在shell脚本中使用sftp的免密码访问时,shell脚本的权限必须不能为777,否则不能登录,建议750或700

2)两台主机网络要联通

3)客户端要具有访问服务端的sftp权限

4)每台主机的密钥信息可以重复生成,但是每次生成都不一样,重新生成后,之前所有设置全部失效,需要重新配置处理。

5)传输文件样例 scp test.txt [email protected]:/crmftp。

猜你喜欢

转载自www.cnblogs.com/wzh313/p/9071038.html
今日推荐