linux下执行scp命令时,不需要输入用户密码

在两台机器的两个用户之间建立安全的信任关系后,可实现执行scp命令时不需要输入用户密码。
例子:
client IP:192.168.2.100
server IP: 192.168.2.99

实现从ip是192.168.2.99的服务器中执行SCP命令远程复制文件md5.txt到我本机192.168.2.100 客户端而不需要输入用户密码。
192.168.2.99信息如下:

在这里插入图片描述
在这里插入图片描述
步骤:
1 执行 ssh-keygen -b 1024 -t rsa 命令

wangxd@build-server-100:~/work/dsy/scp$  ssh-keygen -b 1024 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/wangxd/.ssh/id_rsa): 
/home/wangxd/.ssh/id_rsa already exists.
Overwrite (y/n)? y  <---这里之前我有操作过一次存在密钥
Enter passphrase (empty for no passphrase):  <-- 直接输入回车
Enter same passphrase again:  <-- 直接输入回车
//下面可以看到生成密钥的路径/home/wangxd/.ssh/id_rsa 和/home/wangxd/.ssh/id_rsa.pub
Your identification has been saved in /home/wangxd/.ssh/id_rsa.
Your public key has been saved in /home/wangxd/.ssh/id_rsa.pub.
The key fingerprint is:
e2:f2:6c:80:84:d0:88:fb:91:c8:fd:d8:2a:a0:15:af wangxd@build-server-100
The key's randomart image is:
+--[ RSA 1024]----+
|.o               |
|+ .              |
|o+..             |
|+.=.             |
| o =+ . S        |
|. +.o+ .         |
|o. .o..          |
|..E. +.          |
|  .  .o          |
+-----------------+

注意:在程序提示输入passphrase时直接输入回车,表示无证书密码。
上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在用户家目录的.ssh子目录中。(路径/home/wangxd/.ssh/id_rsa 和/home/wangxd/.ssh/id_rsa.pub)

2 将本地 Client IP:192.168.2.100的公钥证书id_rsa.pub复制到机器Server IP: 192.168.2.99 的用户家目录的.ssh子目录中,同时将文件名更换为authorized_keys。执行命令scp /home/wangxd/.ssh/id_rsa.pub zqb@192.168.2.99:/home/zqb/.ssh/authorized_keys


scp /home/wangxd/.ssh/id_rsa.pub zqb@192.168.2.99:/home/zqb/.ssh/authorized_keys  

#这句命令表示 SCP+本地文件路径( /home/wangxd/.ssh/id_rsa.pub)  远程服务器用户名(zqb)@IP地址(192.168.2.99):  复制到远程路径(/home/zqb/.ssh/authorized_keys )

第一次要输入Server IP: 192.168.2.99的密码,下面看到本地 Client IP:192.168.2.100的公钥证书id_rsa.pub已经成功复制到Server IP: 192.168.2.99的用户家目录的.ssh子目录中。

wangxd@build-server-100:~/work/dsy/scp$ scp /home/wangxd/.ssh/id_rsa.pub zqb@192.168.2.99:/home/zqb/.ssh/authorized_keys        
zqb@192.168.2.99's password: 
id_rsa.pub                                                                    100%  237     0.2KB/s   00:00

3 直接执行SCP命令复制文件md5.txt从远程Server IP: 192.168.2.99到本地Client IP:192.168.2.100 。
执行命令
scp -p zqb@192.168.2.99:/home/zqb/work253/md5.txt ./

wangxd@build-server-100:~/work/dsy/scp$ 
scp -p zqb@192.168.2.99:/home/zqb/work253/md5.txt ./
wangxd@build-server-100:~/work/dsy/scp$ ls
  md5.txt
wangxd@build-server-100:~/work/dsy/scp$ 


#这句命令意思是 scp -p(表示不改变文件修改时间)  zqb(要复制文件的远程用户名)@192.168.2.99(要复制文件的远程IP):/home/zqb/work253/md5.txt(远程文件的路径) ./(复制的本地Client  IP:192.168.2.100路径)

##从远程192.168.2.99 复制文件md5.txt 到 本地192.168.2.100中


下面可以看到远程复制文件是不需要输入用户密码

wangxd@build-server-100:~/work/dsy/scp$ scp -p zqb@192.168.2.99:/home/zqb/work253/md5.txt ./
md5.txt                                                                       100%   85     0.1KB/s   00:00    
wangxd@build-server-100:~/work/dsy/scp$ scp -p zqb@192.168.2.99:/home/zqb/work253/id_rsa.pub_zby_101  ./
id_rsa.pub_zby_101                                                            100%  394     0.4KB/s   00:00    
wangxd@build-server-100:~/work/dsy/scp$ ls
id_rsa.pub_zby_101  md5.txt
wangxd@build-server-100:~/work/dsy/scp$ 

下面可以看到远程复制成功的文件
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值