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

简介:

一、情景

公司刚上几台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都只有用户自己有写权限。否则验证无效。






作者:好大的刀
来源:51CTO
目录
相关文章
|
3天前
|
存储 安全 Linux
|
3天前
|
监控 安全 Linux
【专栏】Linux SSH 的安全对于远程管理至关重要,这几个小妙招安排上!
【4月更文挑战第28天】在数字化时代,Linux SSH 的安全对于远程管理至关重要。增强 SSH 安全包括:使用强密码,调整 SSH 配置文件,尤其是端口号和认证方式;采用密钥认证代替密码;限制登录用户,禁止密码登录;使用防火墙限制访问;定期更新系统和软件。此外,通过日志监控、入侵检测系统及及时应对攻击来提升安全监控。保持对安全知识的学习和更新,结合最佳实践,是保障 SSH 安全的关键。记得安全是个持续过程,时刻保持警惕!
|
3天前
|
安全 Linux Shell
|
3天前
|
运维 监控 安全
2023年最详细的:本地Linux服务器安装宝塔面板,并内网穿透实现公网远程登录
2023年最详细的:本地Linux服务器安装宝塔面板,并内网穿透实现公网远程登录
|
3天前
|
安全 Linux 网络安全
|
3天前
|
弹性计算 运维 Shell
基于key验证多主机ssh访问
【4月更文挑战第30天】
22 1
|
3天前
|
监控 前端开发 安全
【专栏】介绍了前端工程师如何掌握SSH命令,包括SSH协议的基础知识、命令行操作如登录、文件传输、目录管理和进程管理
【4月更文挑战第29天】本文介绍了前端工程师如何掌握SSH命令,包括SSH协议的基础知识、命令行操作如登录、文件传输、目录管理和进程管理。在前端开发中,SSH用于部署项目、协同后端开发及服务器监控。文章还强调了使用密钥认证、配置别名及安全注意事项,并提醒开发者面对问题时如何解决。学习和熟练运用SSH是前端工程师适应复杂项目需求的关键。
|
3天前
|
安全 Unix Linux
基于MobaXterm工具的Linux远程SSH登录
本文介绍了如何使用 MobaXterm 进行 Linux 远程登录。首先,从官方网站下载并安装 MobaXterm。启动后,创建新的远程会话,选择 SSH 类型,输入服务器 IP、主机名和端口。接着,提供用户名和密码进行连接。成功后,即可使用远程终端执行命令。此外,文章还提到了其他常用的 Linux 远程登录工具,如 PuTTY、OpenSSH、SecureCRT 和 Xshell,强调了选择工具时应考虑个人偏好和安全需求。
|
3天前
|
Ubuntu Shell Linux
Shell批量SSH免交互登录认证
Shell批量SSH免交互登录认证
|
Ubuntu Linux 网络安全
Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录
本文介绍了Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录。
2315 1
Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录