为了在Linux下使用scp的时候不需要输入密码,采用ssh另一种用密钥对来验证的方式 。
一,两台机器一对一scp传文件
1、使用ssh-keygen 命令生成密钥。生成过程中,除了输入密码外,其他都选择默认的值:回车即可。
[root@xxx root]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):#回车
Created directory '/root/.ssh'.
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:
e0:f0:3b:d3:0a:3d:da:42:01:6a:61:2f:6c:a0:c6:e7 root@xxx
Generating RSA keys:
Key generation complete.
会在用户目录~/.ssh/产生两个文件,id_rsa是密钥,id_rsa.pub是公钥
2、把这个密钥对中的公共密钥访问属性改为755
[root@xxx root]#chmod 755 /root/.ssh/id_rsa.pub
3、将id_rsa.pub复制到备份的机器上去,并改名为 authorized_keys,注意,名字必须是authorized_keys
[root@xxx root]# scp /root/.ssh/id_rsa.pub 192.168.1.92:/root/.ssh/authorized_keys
root@xxx's password:
id_rsa.pub 100% 218 3.2MB/s 00:00
[root@xxx root]#
之后再用ssh scp sftp 访问那台机器时,就不用输入密码。这样可以利用shell进行自动文件传送了。
二,多台机器多对一scp传文件
如果多台机器的文件需要传到一台机器上,需要注意,机器的名称是唯一的,不能有重复。
1、每个发送机器,都需要各自做【两台机器一对一scp传文件】的步骤1、2,生成本地密钥和公钥,并对公钥id_rsa.pub赋权限
2、将每台机器的公钥都发送到接收机器端,在接收机器端将这些公钥合并成一个authorized_keys文件,最好每个公钥隔行
3、在接收机器端将authorized_keys文件发送到每个发送机器端,位置就放在各自用户目录~/.ssh/下。
4、每台发送机器端执行ssh-add
ssh-add用于将密钥加入到ssh-agent中,SSH可以和ssh-agent通信获取密钥,这样就不需要用户手工输入密码了。
5、测试发送端发送文件到接收端。
分享到:
相关推荐
### Linux自动备份文件并上传至远程服务器脚本实现 在Linux环境下进行自动化操作可以极大地提高工作效率,特别是对于数据备份及远程传输这样的重复性任务。本文将详细介绍如何利用Shell脚本在Linux系统上实现MySQL...
### 如何在Linux下实现MySQL数据库每天自动备份 在Linux环境下进行MySQL数据库的日常自动备份是一项重要的维护工作,它能够确保数据的安全性与完整性。本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务来...
`orabak.rar_linux scp_orabak_oracle_自动备份`这个压缩包文件提供了一套基于Linux环境的Oracle数据库自动备份解决方案,结合了`orabak`工具和`scp`命令,确保数据能够定期备份、压缩,并安全地传输到远程服务器。...
最后,使用 scp 命令将备份文件复制到指定的备份目录: ```bash scp /voipack.sql root@218.242.214.20:/root/218.242.214.23_backup scp /regserver.sql root@218.242.214.20:/root/218.242.214.23_backup scp /...
Linux下Oracle数据库自动备份迁移 通过linux下Crontab实现定时任务,结合oracle自动备份脚本实现oracle数据库的备份操作,结合linux下Scp服务实现备份文件的异地存储,从而减少了人为备份的繁琐工作和服务器损坏造成...
### Linux下通过脚本实现远程自动备份 在现代IT环境中,数据备份是非常关键的一个环节,尤其是在服务器维护过程中。本文将详细介绍如何在Linux环境下利用脚本来实现远程自动备份,包括搭建SSH无密码登录环境、配置...
然后,在本地机器上创建一个备份脚本,使用`tar`打包数据,通过`ssh`和`scp`命令将备份文件安全地传输到远程服务器。最后,配置`cron`以定期执行这个脚本,确保备份过程按时自动进行。 总结来说,Linux系统提供了...
在备份完成后,你可以使用rsync或scp将备份文件从远程服务器同步到本地或其他安全存储位置。例如: ```bash rsync -avz --delete /path/to/backup.dmp user@remote_server:/path/to/remote/backup/ ``` 这里的`-a`...
总结起来,本文介绍的Linux异地全自动备份方案涉及的关键技术包括:`tar`命令进行本地备份,`cron`服务进行定时任务调度,`ssh`和`scp`用于加密的远程访问和文件传输,以及基于密钥的身份验证来实现无密码登录。...
在这个场景中,我们将探讨如何使用PUTTY自动将服务器上的备份文件取到本地。 首先,理解SSH协议是关键。SSH提供了一种加密的网络通信方式,确保数据传输的安全性。PUTTY基于此协议,通过输入服务器的IP地址、端口号...
### Linux下两个MySQL服务器的实时备份方案 #### 一、引言 在现代的数据中心环境中,数据的安全性和可用性至关重要。对于使用MySQL作为主要数据库管理系统的应用而言,确保数据能够实时备份并能够在灾难发生时迅速...
标题中的“Oracle自动备份、Oracle远程备份”涉及的是Oracle数据库管理中的两个重要概念:自动备份策略和远程备份方法。在Oracle数据库系统中,定期备份是确保数据安全和高可用性的重要措施,而远程备份则提供了额外...
标题中的“scp.zip批量远程传输文件”涉及到的是Linux或Unix系统中的安全拷贝协议(Secure Copy,简称scp),它用于在不同主机之间安全地复制文件。scp基于SSH(Secure Shell)协议,能确保数据在传输过程中的安全性...
在`backup_remote_servers.sh`这个脚本中,通过`ssh`命令执行远程服务器上的`dbbackup.sh`脚本,并使用`sop`(可能是`scp`的笔误,`scp`是安全复制命令)将生成的备份文件安全地复制到离线数据服务器。 ```bash #!/...
7. **`chuanshu - 例子.sh`**:" chuanshu "可能是“传输”的拼音,这个文件可能包含将本地备份文件传输到远程服务器的逻辑,可能使用scp或rsync命令。 8. **`数据库备份操作说明.txt`**:这是一个文档,详细说明了...
3. 将安装包复制到目标服务器:`scp –r RALUS_RMALS_RAMS-4164.5.tar.gz root@10.*.*.233:/data/testdb` 使用scp命令将文件安全地传输到另一台Linux服务器上。 4. 在目标服务器上解压并列出文件:`tar –zxvf ...
在备份完成后,使用`scp`命令将备份文件通过SSH无密码方式复制到另一台服务器,这样就实现了数据的远程备份。同样的方法也可以反向操作,将B服务器的数据备份到A服务器,从而达到双机互备的目的。 在这个过程中,...
"Linux 使用救援模式备份数据" ...使用 Linux 救援模式备份数据是一个非常有用的方法,特别是在系统无法启动或文件系统损坏时。通过这个方法,我们可以快速地恢复重要数据,并减少数据丢失的风险。
此外,了解SCP命令的高级用法可以帮助更好地管理和维护Linux环境下的文件系统。 #### 三、生成SSH密钥对 1. **密钥对的概念**:SSH密钥对包括公钥和私钥两部分,公钥可以公开,而私钥需要妥善保存。公钥和私钥是...