如何实现Linux主机远程登录ssh免密码

系统 Linux 系统运维
本文作者公司刚上几台Linux,现在要把主机之间实现都能远程ssh免密码登陆。方法很简单,使用ssh-keygen在主机A上生成private和public密钥,将生成的public密钥拷贝到远程机器主机B上后,就可以使用ssh命令无需密码登录到另外一台机器主机B上。

  [[152756]]

【引自xxxx的博客】一、情景

  公司刚上几台Linux,现在要把主机之间实现都能远程ssh免密码登陆。

  二、原理

  很简单,使用ssh-keygen在主机A上生成private和public密钥,将生成的public密钥拷贝到远程机器主机B上后,就可以使用ssh命令无需密码登录到另外一台机器主机B上。

  三、步骤

  主机A:

  1.生成公钥和私钥文件id_rsa和id_rsa.pub (敲三下回车即可)。

 

  1. [root@bogon ~]# ssh-keygen -t rsa  
  2. Generating public/private rsa key pair.  
  3. Enter file in which to save the key (/root/.ssh/id_rsa):  
  4. Enter passphrase (empty for no passphrase):  
  5. Enter same passphrase again:  
  6. Your identification has been saved in /root/.ssh/id_rsa.  
  7. Your public key has been saved in /root/.ssh/id_rsa.pub.  
  8. The key fingerprint is 
  9. 67:da:0d:79:e0:d6:2b:cd:7d:22:af:51:7e:9c:75:fe root@bogon  
  10. The key's randomart image is 
  11. +--[ RSA 2048]----+  
  12. | |  
  13. | |  
  14. | . |  
  15. | . + |  
  16. | S B o . o|  
  17. | * * = o+|  
  18. | . o B +.=|  
  19. | . + +.|  
  20. | ... E|  
  21. +-----------------+ 

  2.ssh-cop-id命令会将指定的公钥文件复制到远程计算机。

 

  1. [root@bogon ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.1.250.166  
  2. The authenticity of host '10.1.250.166 (10.1.250.166)' can't be established.  
  3. RSA key fingerprint is c8:9d:6d:92:55:77:3d:3e:af:f5:cb:18:80:5a:47:93.  
  4. Are you sure you want to continue connecting (yes/no)? yes  
  5. Warning: Permanently added '10.1.250.166' (RSA) to the list of known hosts.  
  6. reverse mapping checking getaddrinfo for bogon [10.1.250.166] failed - POSSIBLE BREAK-IN ATTEMPT!  
  7. root@10.1.250.166's password: <主机B的登陆密码> 
  8. Now try logging into the machine, with "ssh 'root@10.1.250.166'"and check in 
  9. .ssh/authorized_keys  
  10. to make sure we haven't added extra keys that you weren't expecting. 

  3.然后ssh登陆主机B验证是否需要密码。

 

  1. [root@localhost ~]# ssh 10.1.250.166  
  2. reverse mapping checking getaddrinfo for bogon [10.1.250.166] failed - POSSIBLE BREAK-IN ATTEMPT!  
  3. Last login: Wed Oct 21 10:05:39 2015 from 10.1.250.141  
  4. [root@bogon ~]# 

  4.登陆成功后,我们需要在主机B也做下以上3步,这样就可以相互免密码ssh登陆。(如果有多台主机,每台主机都做下相同操作,以方便以后管理)。

  5.权限问题

  建议用其他用户做ssh登陆的话,调整目录文件权限。

  设置authorized_keys权限  

  1. chmod 644 authorized_keys 

  设置.ssh目录权限  

  1. chmod 700 -R .ssh 

  6.要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。

  本文出自 “好大的刀” 博客,请务必保留此出处:http://53cto.blog.51cto.com/9899631/1704792

责任编辑:火凤凰 来源: 51CTO博客
相关推荐

2023-09-13 22:54:06

2016-01-25 13:03:21

2012-09-28 10:12:55

2009-08-17 08:22:53

linuxssh远程登录

2015-05-28 15:32:14

Linuxssh

2024-10-28 09:38:15

2024-06-20 12:35:36

2013-05-28 13:51:57

LinuxCentos

2018-07-03 10:33:51

服务器运维Linux

2013-04-09 15:06:23

2018-03-09 09:45:52

LinuxSSH登录导语

2017-06-22 08:58:51

Hadoopssh+IPssh+

2010-05-06 09:51:15

SCO Unix主机

2019-10-23 04:37:56

Jschsftp服务器

2013-08-15 16:24:13

2015-04-09 09:08:20

2023-02-21 10:07:23

2020-09-10 11:00:20

SSH远程Linux

2020-09-03 10:45:46

SSHLinux远程

2021-08-11 09:50:34

SSHLinux命令
点赞
收藏

51CTO技术栈公众号