您的位置:首页 > 其它

ubuntu下scp批量拷贝文件不需要输入密码

2014-12-31 11:26 357 查看

写在前面的话

总有一些时候,我总是对我的人生充满恐惧。比如说现在,总是不知所措,总是自卑,总是悲观。

唯一使我平静下来的事情只有一件,就是想到那个总是一个人十万分专注的静静的坐在5教自习教室的109的倒数第三排画着机械制图的稿件,不管是冰天雪地还是酷暑的时候我总是如此专注如此认真一个人在空旷的自习教室专注我想要做好的每一件事。

那些艰难过的人,到底是怎么挺过来的

或许有个时候平凡就是唯一的答案。

那个我总是渺小,我在坚持的事情只有一件不要被恐惧和压力吞噬掉我的坚持我的专注。

这篇blog写给我,那个容易忘事的我。

正文

scp 是secure cpoy 的缩写,scp 是linux 系统下基于ssh登录进行安全的远程文件拷贝命令。

将本地文件复制到远程的命令

scp localfile username@remote_ip: remote_folder

解决的思路,在本地的主机上创建一格RSA的公钥,复制到你的远程服务器上。 使用命令ssh-keygen -trsa之后一直按enter 到底



这个时候会产生一个公钥,保存在~/.ssh/id_rsa.pub 中,如下图所示



为了可操作,修改一下ssh目录下的权限, chomd -R 775 ~/.ssh





不过这样不太好,我们可以只修改id_rsa.pub的权限

chmod 755 id_rsa.pub

将公钥匙复制到远程主机中即可(将远程中服务器的共钥命名为anthorized_keys):

scp /home/YOU_PERSONAL_NAME/.ssh/id_rsa.pub username@host:/home/YOU_SERVER_USERNAME/.ssh/authorized_keys

有一些东西替换成你自己的。ok

要是多台主机要访问一台服务器,就将id_rsa.pub的内容添加到authorized_keys

使用命令

cat id_rsa.pub >> authorized_keys

即可


scp使用方法


1、获取远程服务器上的文件

scp -P 2222 root@www.vpser.net:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz

上端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4.tar.gz 表示远程服务器上的文件,最后面的/home/lnmp0.4.tar.gz表示保存在本地上的路径和文件名。


2、获取远程服务器上的目录

scp -P 2222 -r root@www.vpser.net:/root/lnmp0.4/ /home/lnmp0.4/

上端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制(即复制该目录下面的文件和目录);root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4/ 表示远程服务器上的目录,最后面的/home/lnmp0.4/表示保存在本地上的路径。


3、将本地文件上传到服务器上

scp -P 2222 /home/lnmp0.4.tar.gz root@www.vpser.net:/root/lnmp0.4.tar.gz

上端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 /home/lnmp0.4.tar.gz表示本地上准备上传文件的路径和文件名。root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4.tar.gz 表示保存在远程服务器上目录和文件名。


4、将本地目录上传到服务器上

scp -P 2222 -r /home/lnmp0.4/ root@www.vpser.net:/root/lnmp0.4/

上 端口大写P 为参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。-r 参数表示递归复制(即复制该目录下面的文件和目录);/home/lnmp0.4/表示准备要上传的目录,root@www.vpser.net 表示使用root用户登录远程服务器www.vpser.net,:/root/lnmp0.4/ 表示保存在远程服务器上的目录位置。


5、可能有用的几个参数 :

-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .

-C 使能压缩选项 .

-4 强行使用 IPV4 地址 .

-6 强行使用 IPV6 地址 .
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: