前言
创作开始时间:2021年6月6日13:43:01
这里详细记录一下如何使用scp进行文件传输,以及如何配置ssh,避免反复输入密码。
1、scp的使用
首先,scp一般是在Linux、Ubuntu的Terminal里面使用的。如果要在windows上用,一般需要打开git bash。
那么scp怎么用呢?
参考这两个文献即可:
- 云服务器 文件复制到本地 scp https://blog.csdn.net/cheerygod/article/details/80592560
- 官方文档,最全用法 https://man7.org/linux/man-pages/man1/scp.1.html
于我而言,具体的操作是这样:
scp -rvp <user_name>@<ip_address>:<your_src_folder> <dst_folder>
<xxx>
这些都是要根据你的情况进行替换的内容。
-rvp
参数的含义可以看上面的网页。
但是,这样每次都需要输入密码去验证,很烦。
那么接下来讲如何配置ssh,从而不需要密码验证:
2、ssh配置(免密码验证)
#1. 生成公钥私钥对
ssh-keygen -t rsa
#2. 通过scp拷贝到服务器,或者也可以直接登录服务器创建这个文件,把内容复制过去就行。
# 用scp的话,这一步还是需要输入密码的
scp /home/apr/.ssh/id_rsa_for_aliyun_server.pub apr@<your_remote_machine_ip>:/home/apr/
#3. 登录服务器,可以用ssh apr@<your_remote_machine_ip>,也可以通过xshell
# 这一步也要输密密麻麻
ssh apr@<your_remote_machine_ip>
#4. 把pub文件中的内容追加到~/.ssh/authorized_keys文件中
cd ~/
ls ~/.ssh/authorized_keys
# 如果没有这个文件的话就创建一个
echo "" > ~/.ssh/authorized_keys
# 把pub文件的内容追加写入~/.ssh/authorized_keys文件 (不是覆盖,是追加,所以是>>)
cat /home/apr/.ssh/id_rsa_for_aliyun_server.pub >> ~/.ssh/authorized_keys
#5. 验证是否还需要密码
ssh apr@<your_remote_machine_ip>
# 此时不需要输入密码了,ok了
# scp也同样不需要密码了
备注:以上就是全部过程,主要参考:
How to use the Linux ‘scp’ command without a password to make remote backups 还是挺清楚的。
小结
以上。
创作结束时间:2021年6月6日14:05:19