linux-scp命令无需密码远程down文件

举报
橘座 发表于 2019/09/05 21:37:53 2019/09/05
【摘要】

通常用


scp命令通过ssh获取对方linux主机文件的时候都需要输入密码 确认,如果需要在主机上做一个自动获取文件的shell脚本,这样显然 是不行的,通过下面的设置,可以不需要输入密码,直接获到文件。这里假设 主机A用来获到主机B的文件。


1.在主机A上执行如下命令来生成配对密钥:


ssh-keygen -t rsa

显示信息如下:


Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Created directory ‘/root/.ssh’.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

45:13:ec:31:f9:3d:25:54:7b:5f:03:40:ba:e9:76:cd root@bindiry-ubuntu

复制代码

按三次回车。

2.


为~/.ssh目录设置权限:


chmod -R 755 .ssh

将.ssh目录中的id_rsa.pub文件复制到 主机B的~/.ssh/目录中,并改名为


authorized_keys,同样给该目录设置权限。


3.到主机A中执行命令和主机B建立信任,例(假设主机B的IP为:192.168.0.3):


scp ~/.ssh/id_rsa.pub 192.168.0.3:/root/.ssh/authorized_keys

4.下面就可以用scp命令不需要密码来获取主机B的文件了


附scp命令说明:


scp C

安全复制 (远程文件复制工具)


语法:

scp [-1245BCpqrv] [-c cipher] [F ssh_config] [-I identity_file] [-l limit] [-o

ssh_option] [-P port] [-S program] [[user@]host1:] file1 [...]

[[suer@]host2:]file2

说明:


Scp在主机间复制文件。他使用


ssh(1)作为数据传输。而且用同样认证和安全性。


scp将在认证中请求输入密码所有的文件可能需要服务器和用户的特别描述来指明文件将被复制到/从某台服务器。两个远程登录的服务器间的文件复制是允许 的。


选项:


-1强制


scp用协议1


-2强制scp用协议2


-4强制scp用IPV4的网址


-6强制scp用IPV6的网址


-B选择批处理模式(防止输入密码)


-C允许压缩。 标注


-C到ssh(1)来允许压缩


-c cipher选择cipher



文章转自异步社区


原文链接https://www.epubit.com/articleDetails?id=N407e4dfc-f1fa-422b-ba68-b90e68a60e4f

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。