SCP 传输不需要命令

以下是在机器Client的root和机器Server的root之间建立安全信任关系的步骤:
    1. 在机器Client上root用户执行ssh-keygen命令,生成建立安全信任关系的证书。


代码
[root@Client root]# ssh-keygen -b 1024 -t rsa
        Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
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:
        49:9c:8a:8f:bc:19:5e:8c:c0:10:d3:15:60:a3:32:1c root@Client
[root@Client root]# 
    注意:在程序提示输入passphrase时直接输入回车,表示无证书密码。
    上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在用户家目录的.ssh子目录中。
    2. 将公钥证书id_rsa.pub复制到机器Server的root家目录的.ssh子目录中,同时将文件名更换为authorized_keys。


代码
[root@Client root]# scp -p .ssh/id_rsa.pub root@192.168.3.206:/root/.ssh/authorized_keys
root@192.168.3.206's password:          <-- 输入机器Server的root用户密码
        id_rsa.pub           100% |**************************|   218       00:00
[root@Client root]# 
    在执行上述命令时,两台机器的root用户之间还未建立安全信任关系,所以还需要输入机器Server的root用户密码。
    经过以上2步,就在机器Client的root和机器Server的root之间建立安全信任关系。下面我们看看效果:


[root@Client root]# scp -p text root@192.168.3.206:/root
        text                 100% |**************************|    19       00:00
[root@Client root]# 
    成功了!真的不再需要输入密码了。 
### 如何使用SCP命令进行文件传输 SCP(secure copy)是一个基于 SSH 协议在网络之间进行安全传输命令,所有的数据都将进行加密处理[^2]。以下是关于如何使用 SCP 命令进行文件传输的详细说明。 #### 1. 单个文件传输 要将本地文件传输到远程主机,可以使用以下命令: ```bash scp /path/to/local/file user@remote:/path/to/remote/file ``` 其中,`/path/to/local/file` 是本地文件路径,`user` 是远程主机的用户名,`remote` 是远程主机的 IP 地址或主机名,`/path/to/remote/file` 是目标文件路径[^4]。 例如,将本地文件 `example.txt` 传输到远程主机 `/home/user/` 目录下: ```bash scp example.txt user@192.168.1.100:/home/user/ ``` #### 2. 整个文件传输 如果需要传输整个文件夹,可以添加 `-r` 参数以递归地复制文件夹及其内容: ```bash scp -r /path/to/local/folder user@remote:/path/to/destination ``` 例如,将本地目录 `my_folder` 传输到远程主机 `/home/user/` 目录下: ```bash scp -r my_folder user@192.168.1.100:/home/user/ ``` 此命令会递归地复制整个文件夹及其所有内容[^1]。 #### 3. 多文件传输 如果需要同时传输多个文件到远程主机,可以在命令中列出每个文件路径,并用空格分隔: ```bash scp file1 file2 user@remote:/path/to/remote/directory ``` 例如,将 `file1.txt` 和 `file2.txt` 传输到远程主机 `/var/www/html/` 目录下: ```bash scp file1.txt file2.txt user@192.168.1.100:/var/www/html/ ``` 也可以先进入本地目录再运行命令[^3]。 #### 4. 高级参数配置 - **保留原文件属性**:使用 `-p` 参数可保留文件的修改时间、访问时间和权限。 - **指定端口号**:如果远程主机的 SSH 服务是默认的 22 端口,可以使用 `-P` 参数指定端口号。 - **压缩传输**:使用 `-C` 参数可以启用压缩功能,减少传输时间。 - **显示详细信息**:使用 `-v` 参数可以查看详细的传输过程,用于调试问题。 例如,通过指定端口号和启用压缩功能传输文件: ```bash scp -P 2222 -C example.txt user@192.168.1.100:/home/user/ ``` #### 5. 安全性和注意事项 SCP 使用 SSH 协议对传输的数据进行加密,确保数据在传输过程中会被窃取或篡改。因此,在使用 SCP 时需要确保用户具有正确的权限和密钥认证。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值