scp免密传输文件

SCP免密传输配置方法

01 前言

scp命令都很熟悉,通常用于服务器之间文件传输,但是经常应用此场景的同学会发现每次都需输入密码,操作有点繁琐。接下来介绍免密传输的办法。

02 需求

假设有两台服务器A(192.168.4.238)和服务器B(192.168.4.240),现在要将A服务器上bpoc用户下文件免密传输到B服务器上dbbak用户下

03 实现步骤

1、在服务器A上bpoc用户(根据实际情况)下执行 "ssh-keygen -t rsa",然后连续按3次 “enter” 键:

[bpoc@localhost ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/bpoc/.ssh/id_rsa):
Created directory '/home/bpoc/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/bpoc/.ssh/id_rsa.
Your public key has been saved in /home/bpoc/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:kzMNS8+GgZaUUGl6ybVDLlJy34rDq0QdFbMGHy4OQFY bpoc@localhost.localdomain
The key's randomart image is:
+---[RSA 3072]----+
| .+.Eo+o=.       |
| . ...*Bo+       |
|   .B**Oo       |
|    o====X.     |
|   .+ooSo=     |
|   .  + .=       |
|   . o         |
|   . .         |
|   ..           |
+----[SHA256]-----+
[bpoc@localhost ~]$

可以看到,服务器A上bpoc用户下密钥已生成,公钥路径为~/.ssh/id_rsa.pub

2、将生成的公钥拷贝到服务器B下的dbbak用户(根据实际情况)下。

scp ~/.ssh/id_rsa.pub dbbak@192.168.4.240:.

此处需要输入240服务器dbbak的密码 **

3、登录服务器B,dbbak用户(根据实际情况),执行:

# 先检查下 ~/.ssh目录是否存在,若不存在,则需要先建立
# ~/.ssh的目录权限是700,
# ~/.ssh/authorized_keys 的文件权限必须是 600(否则免密传输报错)
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

4、此时两台机器已建立信任关系了,A(bpoc用户)到B(dbbak用户)即可以实现免密传输了,如果要实现B到A免密传输,操作是一样的

posted @   lucas-xie  阅读(832)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示