scp在不提示输入密码的情况下,从一个盒子到另一个盒子的最佳方式是什么?
有两台服务器:
服务器 A (10.152.2.10): /home/oracle/export/files.txt
服务器 B (10.152.2.11): /home/oracle/import/
如果我想在scp不提示输入密码的情况下将文件从服务器 A传输到服务器 B
[从服务器 A 运行,/home/oracle/export/]
scp files.txt oracle@10.152.2.11:/home/oracle/import
Run Code Online (Sandbox Code Playgroud)
这会在输入命令时提示我输入密码。
我知道需要生成一个密钥生成器并将其复制到服务器 A。因此 [在服务器 A]:
ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)
这给了我存储在的两个文件/home/oracle/.ssh:
id_rsa
id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
1. 我应该将两个文件 ( id_rsa, id_rsa.pub)复制到服务器 B 中/home/oracle/.ssh吗?
在对此进行一些谷歌搜索时,一些文章提到了将其附加/连接到authorized_keys。
2. 我应该自己创建这个文件吗?
我似乎对执行此操作的正确方法感到困惑。
顺便说一句,两台服务器运行的是 Suse Linux Enterprise Edition 9...
小智 16
id_rsa自己;但是,id_rsa.pub作为您的公钥的 可能会被复制到您希望访问的服务器上。将它们连接到~/.ssh/authorized_keys.~/.ssh/authorized_keys如果尚未创建,您可以创建;否则,只需使用cat id_rsa.pub >>~/.ssh/authorized_keys.mau*_*ion 11
还有一个工具可以为您整理所有这些,称为ssh-copy-id.
如果您有一个运行到该authorized_keys文件的密钥,它将在您的代理中附加密钥,如果它不存在并具有正确的权限,则创建它。如果您没有运行代理,则可以指定要推送的密钥-i:ssh-copy-id -i ~/.ssh/id_rsa
您还应该检查各种文件和目录的权限:
authorized_keys needs perms of 600 (chmod 600 authorized_keys)
the .ssh directory should be 700
your home directory should be at most 744
Run Code Online (Sandbox Code Playgroud)
您的主目录不能被除您以外的任何人写入。