linux免密登录_linux下实现免密传输文件或登录到其他服务器

2be2b62dfefa5903166a1799a65cbc1e.png

使用scp传输文件到其他服务器的时候,提示需要输密码,如下:
[root@18c setup]# scp LINUX.X64_180000_db_home.zip 192.168.133.120:/u01root@192.168.133.120's password:

每次都要输,很麻烦,我们可以建立两台服务器之间的互信关系,实现免密传输或登录

步骤如下:
(1)A主机生成配对秘钥
[root@18c setup]# ssh-keygen -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:
fb:00:4f:76:c5:73:da:ef:3a:e6:a4:b2:66:f9:94:26 root@18c
The key's randomart image is:
+--[ RSA 2048]----+
| |
| . |
| + . |
| . = |
| . S . . . |
| = o . . |
| + E.+ . .|
| o=+ oo. |
| oo+oooo.|
+-----------------+
[root@18c setup]#

(2)将/root/.ssh目录下生成的id_rsa.pub文件传输到B机的/root/.ssh下,如果B机不存在.ssh目录,需要手工创建,并且命名为authorized_keys
[root@18c .ssh]# scp id_rsa.pub 192.168.133.120:/root/.ssh/authorized_keysroot@192.168.133.120's password:
id_rsa.pub 100% 390 0.4KB/s 00:00
[root@18c .ssh]#

(3)验证从A机传输文件到B机,可以看到能免密传输
[root@18c setup]# scp LINUX.X64_180000_db_home.zip 192.168.133.120:/u01
LINUX.X64_180000_db_home.zip 22% 997MB 115.6MB/s 00:29 ETA^CKilled by signal 2.

免密登录

[root@18c setup]# ssh 192.168.133.120

Last login: Sat Sep 8 00:59:14 2018 from 192.168.133.111

[root@dbserver ~]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux服务器之间实现免密传输文件可以使用SSH(Secure Shell)协议和两台服务器之间的密钥认证。 首先,在服务器A上生成公钥和私钥对。可以使用以下命令生成: ``` ssh-keygen -t rsa ``` 这将在~/.ssh目录下生成id_rsa和id_rsa.pub文件,其中id_rsa为私钥,id_rsa.pub为公钥。 然后,在服务器B上创建一个.ssh目录,并将服务器A生成的公钥复制到服务器B的~/.ssh/authorized_keys文件中。 ``` mkdir ~/.ssh chmod 700 ~/.ssh vim ~/.ssh/authorized_keys 将服务器A生成的公钥复制到authorized_keys中保存退出。 ``` 接下来,将服务器B的公钥复制到服务器A的authorized_keys中,以实现双向的免密传输。 最后,确保服务器A和服务器B的.ssh目录的权限设置为700,authorized_keys文件的权限设置为600,以确保只有拥有者有读写权限。 现在,当从服务器A到服务器B传输文件时,就不再需要输入密码。可以使用以下命令: ``` scp file user@serverB:/path/to/destination ``` 其中,file是要传输文件,user是服务器B的用户名,serverB是服务器B的IP地址或域名,/path/to/destination是文件传输服务器B的目标路径。 通过上述步骤,我们成功实现Linux服务器之间的免密传输文件。 ### 回答2: 在Linux服务器之间实现免密传输文件可以通过使用SSH密钥对来实现。下面是具体的步骤: 1. 在源服务器上生成SSH密钥对。可以使用`ssh-keygen`命令来生成密钥对,该命令会生成公钥和私钥文件。 2. 将公钥文件拷贝到目标服务器上。可以使用以下命令将公钥文件拷贝到目标服务器上: ``` ssh-copy-id -i <公钥文件> <目标服务器用户名>@<目标服务器IP地址> ``` 3. 输入目标服务器密码进行验证,然后公钥文件将被自动拷贝到目标服务器的`~/.ssh/authorized_keys`文件中。 4. 现在可以在源服务器上使用`scp`命令进行免密传输文件到目标服务器。 ``` scp <文件路径> <目标服务器用户名>@<目标服务器IP地址>:<目标路径> ``` 5. 这样,文件将被安全地传输到目标服务器上,而无需再次输入密码。 注意:为了确保安全性,私钥文件应该妥善保管,并限制访问权限。此外,还可以通过禁用密码登录来进一步加强服务器的安全性。 ### 回答3: 在Linux服务器之间实现免密传输文件,可以通过使用SSH密钥对的方式来实现。 首先,需要在发送文件服务器上生成一对SSH密钥(公钥和私钥)。这可以通过运行`ssh-keygen`命令来完成。在执行命令时,可以选择保存密钥的位置及密钥的名称。默认情况下,公钥和私钥会保存在用户的家目录的.ssh文件夹中。 然后,将公钥复制到接收文件服务器上。可以通过运行以下命令将公钥复制到目标服务器: ``` ssh-copy-id username@remote_server ``` 其中,`username`是目标服务器的用户名,`remote_server`是目标服务器的IP地址或域名。在执行命令时,需要提供目标服务器登录密码。 接下来,验证是否成功免密传输文件。可以通过运行以下命令来登录到目标服务器: ``` ssh username@remote_server ``` 这次登录时,将不会要求输入密码。 最后,可以使用`scp`命令在服务器之间进行免密传输文件。例如,要将本地文件`file.txt`传输到目标服务器上: ``` scp file.txt username@remote_server:/path/to/destination ``` 其中,`/path/to/destination`是目标服务器上保存文件的路径。 通过上述步骤,就可以实现Linux服务器之间的免密传输文件了。这种方法提供了更高的安全性,同时减少了每次传输文件时需要手动输入密码的麻烦。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值