ssh,scp 无密码登录配置(ssh-keygen,authorized_keys)

一、概述

1、就是为了让两个linux机器之间使用ssh,scp不需要用户名和密码。采用了数字签名RSA或者DSA来完成这个操作

2、模型分析

假设 A (192.168.20.59)为客户机器,B(192.168.20.60)为目标机;

要达到的目的:
A机器ssh登录B机器无需输入密码;
加密方式选 rsa|dsa均可以,默认dsa

二、具体操作流程

在A机器登录B机器:
1、登录A机器
2、ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub

$ ssh-keygen -t rsa

3、将 .pub 文件复制到B机器的 .ssh 目录, 并

$ cat id_dsa.pub >> ~/.ssh/authorized_keys

4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;直接运行

$ ssh root@192.168.20.60

5、设置文件和目录权限**(非常重要)**:
设置authorized_keys权限

$ chmod 600 authorized_keys 

设置.ssh目录权限

$ chmod 700 -R .ssh
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux主机上将其他主机的公钥添加到本机的.ssh/authorized_keys中,可以通过以下步骤完成: 1. 在其他主机上生成一个 SSH 公钥。可以使用 ssh-keygen 命令生成公钥。在终端中输入以下命令: ``` ssh-keygen ``` 该命令会提示你输入文件名和密码短语,你可以直接回车键跳过。然后,该命令将生成公钥和私钥,并将它们保存在~/.ssh/目录下。 2. 将其他主机的公钥复制到 Linux 主机的 .ssh/authorized_keys 文件中。在其他主机上,输入以下命令来获取公钥: ``` cat ~/.ssh/id_rsa.pub ``` 该命令将打印出公钥。将输出复制到剪贴板中。 在 Linux 主机上,在终端中输入以下命令: ``` mkdir -p ~/.ssh/ touch ~/.ssh/authorized_keys nano ~/.ssh/authorized_keys ``` 该命令将创建 .ssh/authorized_keys 文件并打开它。将剪贴板中的公钥粘贴到文件中。然后保存文件并退出。 3. 确保 .ssh/authorized_keys 文件的权限设置正确。在 Linux 主机上,输入以下命令: ``` chmod 600 ~/.ssh/authorized_keys ``` 该命令将文件的权限设置为只有当前用户可以读取和写入,其他用户无权访问。 现在,其他主机上的公钥已经添加到了 Linux 主机的 .ssh/authorized_keys 文件中,可以使用 SSH 登录到该主机了。 ### 回答2: 在Linux主机中将其他主机的公钥添加到本机的.ssh/authorized_keys中,可以通过以下步骤完成: 1. 首先,确保已经登录到目标Linux主机的用户账户上,并且该账户具有足够的权限来编辑.ssh/authorized_keys文件。 2. 找到要添加到本机的公钥。这个公钥通常以公钥文件的形式存在,其文件名可能是id_rsa.pub、id_dsa.pub或其他类似的形式。如果没有公钥文件,则需要从其他主机上生成一个新的公钥。 3. 将其他主机的公钥文件复制到本机的.ssh目录下。可以使用SCP命令将公钥文件从其他主机复制到本机的.ssh目录下。例如,可以执行以下命令: scp user@otherhost:~/.ssh/id_rsa.pub ~/.ssh/otherhost_id_rsa.pub 4. 然后,使用cat命令将公钥文件的内容添加到.ssh/authorized_keys文件中。例如,可以执行以下命令: cat ~/.ssh/otherhost_id_rsa.pub >> ~/.ssh/authorized_keys 5. 最后,确保.ssh/authorized_keys文件的权限正确设置。只有所有者具有对该文件的写权限,而其他用户只有读权限。可以使用chmod命令来设置正确的权限。例如,可以执行以下命令: chmod 600 ~/.ssh/authorized_keys 完成上述步骤后,其他主机的公钥就会被成功添加到本机的.ssh/authorized_keys中。这样,其他主机上对应私钥的用户就可以使用该私钥进行SSH连接到本机。 ### 回答3: 将其他主机的公钥添加到本机的.ssh/authorized_keys文件中是为了实现SSH连接的自动认证。SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地远程登录和执行命令。 在Linux系统中,每个用户都有一个.ssh目录,其中包含了与SSH相关的配置文件和密钥。其中,authorized_keys文件用于存储已信任的公钥,只有在该文件中列出的公钥才能成功地进行SSH连接。 要将其他主机的公钥添加到本机的.ssh/authorized_keys中,可以按照以下步骤进行操作: 1. 在本地主机上,打开终端,并使用文本编辑器(如vi、nano等)打开.ssh/authorized_keys文件。 2. 在其他主机上,生成一对密钥(公钥和私钥),其中公钥是用于授权本机连接的密钥。 3. 将其他主机的公钥复制到剪贴板中。 4. 返回本地主机终端,在打开的authorized_keys文件中,将其他主机的公钥粘贴到新的一行中。 5. 保存并关闭文件。在vi编辑器中保存并退出可以使用命令:wq。 6. 现在,本地主机就可以使用相应的私钥连接到其他主机,而不需要输入密码。 通过将其他主机的公钥添加到本机的.ssh/authorized_keys文件中,可以实现SSH连接的自动认证,提高了连接的安全性和便利性。请注意,仅将受信任的公钥添加到该文件中,以确保只有可信任的主机可以连接到本机。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值