SSH免密从机器A登录到机器B

ssh免密登录需要借助公钥与私钥。linux通过ssh-keygen生成公钥/私钥对。

登陆的机器有私钥,被登陆的机器要有登录机器的公钥,这个公钥/私钥对一般在私钥宿主机产生(登陆机器)

需求:机器A(10.21.144.111),通过ssh免密码登录机器B(10.21.144.110)?

1、在机器A中生成 公钥/私钥对

[root@A]#ssh-keygen

 

三个回车,该命令将在/root/.ssh目录下面产生一对密钥id_rsa和id_rsa.pub

[root@A home]# cd /root/.ssh/

[root@A .ssh]# ll

总用量 12

-rw-------  1 root root 1679 6月  11 15:31 id_rsa

-rw-r--r--  1 root root  395 6月  11 15:31 id_rsa.pub

-rw-r--r--. 1 root root  175 2月  18 09:45 known_hosts

2、把机器A下的/root/.ssh/id_rsa.pub公钥复制到机器B中的 /root/.ssh/authorized_keys文件里,先要在B机上创建好 /root/.ssh 这个目录,用scp复制。

[root@A .ssh]#scp /root/.ssh/id_rsa.pub root@10.21.144.110:/root/.ssh/authorized_keys    

3、机器A上修改/root/.ssh/authorized_keys的权限600

chmod 600 /root/.ssh/authorized_keys

4、机器A登录机器B

[root@A .ssh]# ssh 10.21.144.110

Last login: Tue Jun 11 16:43:55 2019 from testzq.com

[root@B ~]#

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以通过生成密钥对的方式来配置 ssh 免密登录。 步骤如下: 1. 在本地主机上生成密钥对:打开命令行,运行命令:`ssh-keygen -t rsa` 2. 将公钥复制到远程主机上:运行命令:`ssh-copy-id username@remote_host` (username 是远程主机的用户名,remote_host 是远程主机的 IP 地址或主机名) 3. 测试免密登录:运行命令:`ssh username@remote_host`,如果能够免密登录到远程主机,则表示配置成功。 注意:在操作过程中,可能会遇到各种问题,例如网络问题、服务器配置问题等,请仔细阅读报错信息并对照相关文档进行排除。 ### 回答2: 配置 Linux 的 SSH 免密是一种方便又安全的方法,让我们可以直接通过 SSH 登录到远程服务器而无需输入密码。下面是一个简单的步骤来配置 SSH 免密: 1. 首先,确保在本地机器上已经生成了 SSH 密钥对。如果没有,可以使用 ssh-keygen 命令生成。输入以下命令: ```bash ssh-keygen -t rsa -b 4096 ``` 2. 输入生成密钥的保存路径和文件名,然后设置一个密码(可选)。生成成功后,会生成两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。 3. 将公钥复制到远程服务器。可以使用 ssh-copy-id 命令来完成此操作。输入以下命令,并替换 `<user>` 和 `<server_ip>` 分别为远程服务器的用户名和 IP 地址: ```bash ssh-copy-id <user>@<server_ip> ``` 4. 输入远程服务器密码进行确认后,公钥会被复制到远程服务器的 `~/.ssh/authorized_keys` 文件中。 5. 修改远程服务器的 SSH 配置文件(/etc/ssh/sshd_config)。确保以下选项被启用: ``` PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no ``` 6. 保存并退出文件,然后重启 SSH 服务以应用更改。输入以下命令重启 SSH 服务: ```bash sudo service ssh restart ``` 7. 现在,您应该可以通过 SSH 连接到远程服务器而无需输入密码。输入以下命令尝试连接: ```bash ssh <user>@<server_ip> ``` 这些步骤将使您的 Linux 系统配置为 SSH 免密登录到远程服务器。请注意,密钥文件需要保持机密和安全。 ### 回答3: 在Linux系统中配置SSH免密登录需要进行以下步骤: 1. 在本地机器上生成SSH密钥对。可以使用ssh-keygen命令生成密钥对,该命令默认生成的密钥对文件为 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub。可以选择设置密钥长度,一般默认为2048位。生成密钥对后,私钥文件id_rsa需要保留在本地机器上,公钥文件id_rsa.pub需要复制到远程机器。 2. 复制公钥到远程机器。将本地机器上生成的公钥文件id_rsa.pub的内容复制到远程机器的~/.ssh/authorized_keys文件中。如果该文件不存在,则可以手动创建。.ssh目录的权限应该设置为700,authorized_keys文件的权限应设置为600,这是为了保证SSH服务能读取这些文件。 3. 配置SSH服务。在远程机器上,打开SSH配置文件/etc/ssh/sshd_config,找到并修改以下几个配置项:PubkeyAuthentication yes,表示支持密钥认证;PasswordAuthentication no,表示禁止密码认证;以及RSAAuthentication yes,表示使用RSA算法进行认证。修改完成后保存并退出。 4. 重启SSH服务。在远程机器上,使用命令sudo systemctl restart sshd重启SSH服务,使配置生效。 5. 测试验证。可以尝试使用ssh命令进行远程登录,如果配置正确,登录时不再需要输入密码,即可免密登录远程机器。 需要注意的是,配置SSH免密登录时应注意密钥的保密性,私钥文件id_rsa应该妥善保存,并且不要随意将其复制到其他机器上。此外,为了增加安全性,可以设置私钥文件的密码保护,以防止私钥被他人复制和使用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值