linux远程登录ssh免密码配置方法

 更新时间:2015年10月24日 23:08:55   作者:好大的刀  
这篇文章主要介绍了linux远程登录ssh免密码配置方法,需要的朋友可以参考下

一、情景

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

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

三、步骤

主机A:

1、 生成公钥和私钥文件id_rsa和id_rsa.pub (敲3下回车即可)
[root@bogon ~]# 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:
67:da:0d:79:e0:d6:2b:cd:7d:22:af:51:7e:9c:75:fe root@bogon
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| . |
| . + |
| S B o . o|
| * * = o+|
| . o B +.=|
| . + +.|
| ... E|
+-----------------+

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

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

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

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

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

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

5、权限问题
建议用其他用户做ssh登陆的话,调整目录文件权限
设置authorized_keys权限

chmod 644 authorized_keys

设置.ssh目录权限

chmod 700 -R .ssh

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

本文出自 “好大的刀” 博客

相关文章

  • 详解Linux如何将一个文件夹的所有内容授权给某一个用户?

    详解Linux如何将一个文件夹的所有内容授权给某一个用户?

    这篇文章主要介绍了Linux如何将一个文件夹的所有内容授权给某一个用户,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Linux下安装软件包报依赖等相关问题的解决方法

    Linux下安装软件包报依赖等相关问题的解决方法

    大家好,本篇文章主要讲的是Linux下安装软件包报依赖等相关问题的解决方法,感兴趣的同学赶快来看一看吧,对你有帮助的话,记得收藏一下
    2021-12-12
  • 关于Apache shiro实现一个账户同一时刻只有一个人登录(shiro 单点登录)

    关于Apache shiro实现一个账户同一时刻只有一个人登录(shiro 单点登录)

    今天和同事在一起探讨shiro如何实现一个账户同一时刻只有一session存在的问题,下面小编把核心代码分享到脚本之家平台,需要的朋友参考下
    2017-09-09
  • Centos安装MYSQL8.X的教程

    Centos安装MYSQL8.X的教程

    这篇文章主要介绍了Centos安装MYSQL8.X的教程,本文以CentOS版本为7.6,安装的MySQL版本为8.0.17,感兴趣的朋友跟随小编一起看看吧
    2019-10-10
  • Vim中的几种文件备份方法总结

    Vim中的几种文件备份方法总结

    最近在MCTF上看到了Vim的undo备份,顺手学习了下 Vim 的几种备份机制,所以这篇文章主要给大家介绍了关于Vim中的几种文件备份,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-04-04
  • Ubuntu如何修改时区为UTC/CST时间

    Ubuntu如何修改时区为UTC/CST时间

    这篇文章主要介绍了Ubuntu如何修改时区为UTC/CST时间问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Linux下使用使用socket实现TCP服务端的示例代码

    Linux下使用使用socket实现TCP服务端的示例代码

    套接字(socket)是 Linux 下的一种进程间通信机制(socket IPC),它不仅支持同一主机的不同进程间通信,还支持跨网络的不同主机的进程间通信,本文介绍了 Linux 下使用 socket 接口实现 TCP 服务端的示例程序,需要的朋友可以参考下
    2024-03-03
  • linux jexus服务设置开机启动

    linux jexus服务设置开机启动

    这篇文章主要为大家详细介绍了linux jexus服务设置开机启动,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • linux如何开启关闭防火墙

    linux如何开启关闭防火墙

    在Linux系统中,管理防火墙是重要的安全任务,本文介绍了如何关闭防火墙,设置开机不启动防火墙,以及如何检查防火墙状态,特别地,对于CentOS7系统,提及了Firewalld服务的安装和管理,通过这些步骤,可以有效地控制系统的防火墙设置,确保系统安全
    2024-10-10
  • 关于linux服务器hosts文件配置详解

    关于linux服务器hosts文件配置详解

    在本篇文章里小编给大家整理的是关于linux服务器hosts文件配置问题,需要的朋友们可以学习参考下。
    2020-02-02

最新评论