Linux主机间ssh实现无密码登陆

server1    主机名:centos6         IP:192.168.2.105        操作系统:centos6.5

server2    主机名:rhel6             IP:192.168.2.110        操作系统:rhel6.5

为了实现server1对server2能够实现无密码登陆,可以在server1主机上使用ssh-keygen工具生成一对密钥,server1保留私钥,将公钥上传至server2主机相应用户的主目录下的.ssh/文件夹下,并重命名为authorized_keys

步骤如下:

1、在server1上生成密钥对

[[email protected] .ssh]# 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:
43:5a:4c:00:e6:93:88:ef:92:87:1b:6b:ed:91:c9:33 [email protected]
The key‘s randomart image is:
+--[ RSA 2048]----+
|    o....        |
| . + . o         |
|. . +   +        |
| .   . +         |
|  .   . S        |
| +. o    .       |
|= +E             |
| B .+            |
|+ ..             |
+-----------------+
[[email protected] .ssh]#pwd
/root/.ssh
[[email protected] .ssh]#ls
id_rsa  id_rsa.pub

需要注意的是     Enter passphrase (empty for no passphrase):
                        Enter same passphrase again:

这两项提示输入密码,必须留空,直接按回车键跳过,这样就能避免server1远程登录server2时所要口令了。

这时候生成了两个文件,id_rsa  id_rsa.pub

2、将公钥文件id_rsa.pub上传至server2主机上

[[email protected] .ssh]# ssh [email protected] "cat >> /root/.ssh/authorized_keys" < id_rsa.pub
[email protected]‘s password:

3、修改server2中sshd的配置文件

[[email protected] .ssh]#vim /etc/ssh/sshd_config

启用两项

RSAAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

在server2上重启sshd服务

[[email protected] .ssh]/etc/init.d/sshd restart

此时从server1使用ssh登录server2则无需登录密码,如果还需要密码或者报错,则是由于selinux的原因

[[email protected] .ssh]setenforce 0            ###立即生效

强制关闭selinux

或者修改相关配置文件

[[email protected] .ssh]vim /etc/selinux/config

修改:

SELINUX=disabled        ###修改配置文件重启后才可生效

此时就可以实现server1对server2的无密码登陆了

注:看见网上说鉴于文件的安全性应将两台主机的.ssh/目录以及目录下的所有文件的权限改为600

chmod -R 600 .ssh/

不过个人认为,由于.ssh/目录位于用户的家目录中,其他普通用户根本无法cd进来,所以这一步貌似可以略去。

Linux主机间ssh实现无密码登陆,布布扣,bubuko.com

时间: 2024-10-29 10:48:12

Linux主机间ssh实现无密码登陆的相关文章

利用Python Fabric配置主机间SSH互信和添加公钥

本文主要讲述如何利用Python的Fabric模块编写一个脚本用于配置多个主机间SSH互信以及如何将管理员自己的公钥批量添加到多个主机中. 脚本说明 该脚本只提供如题所述的少量功能,用于帮助熟悉Python的Fabric和SSH几项简单的基本配置,原本的目的是想通过Python和Fabric实现对主机进行一些批量操作,如完成主机的初始化等.因为SSH的配置具有通用性和必要性,所以便有了此文,希望对Linux运维和使用Python.Fabric自动化部署感兴趣的人有所帮助. 该脚本将继续维护,直至

Linux 指令详解 scp 在linux主机间传输文件

指令:scp 在不同的linux主机间复制文件 带有Security的文件copy,基于ssh登录. 有些linux发行版没有自带scp,因此需要安装scp #  yum -y install openssh-clients 基本语法: # scp [参数] source target 常见参数 -v : 显示进度,可以用来查看连接.认证或是配置错误 -r :  赋值目录 -C :使能压缩选项 -P :选择端口 -4 : 强行使用 IPV4 地址 -6 : 强行使用 IPV6 地址 常见的使用方

Mac OS X上如何实现到Linux主机的ssh免登陆

转载说明: 本文转载自 http://www.aips.me/mac-key-ssh-login-linux.html 生成密钥对 用密码登录远程主机,将公钥拷贝过去 done 第一步:生成密匙对执行命令 ssh-keygen -t rsa执行结果如下: 12345678910111213141516171819202122 [email protected]:~ > ssh-keygen -t rsaGenerating public/private rsa key pair.Enter fi

解决ssh配置无密码登陆后再次出现请求输入密码的情况

http://inuyasha1027.blog.51cto.com/4003695/1132896/ 主机ip:192.168.163.100(hostname: node0) ssh无密码登陆的远程机ip:192.168.163.101(hostname: node1) 首先要修改主机 和ssh连接到的远程机 的配置文件: vi  /etc/ssh/sshd_config (要确保这些字符前无注释符号"#") RSAAuthentication  yes PubkeyAuthent

ssh实现无密码登陆

参考教程:https://linux.cn/article-5444-1.html 1.假设你有一台主机A(ip:111.111.111.111),用户名为server123,想无密码登陆到主机B(188.188.188.188)上,用户名为ubuntu 2.在主机A上使用ssh-keygen生成一对rsa公私钥(连点3下回车,使用默认文件名id_rsa,不设密码) [email protected]123:~$cd ~/.ssh [email protected]123:~/.ssh$ssh-

linux 解决非root用户用SSH不能无密码登陆本机问题。

1.进入当前用户.ssh 目录查看权限 ls -l 或者 ll -rw-rw-r-- 1 hduser hduser  394 Mar 21 09:38 authorized_keys    -rw------- 1 hduser hduser 1675 Mar 21 09:38 id_rsa    -rw-r--r-- 1 hduser hduser  394 Mar 21 09:38 id_rsa.pub 2.发现 authorized_keys 文件为不可执行文件 执行 chmod a+x

linux主机间基于密钥认证

1.生成公钥私钥 ssh-genkey -t rsa 2.复制公钥到其他主机 ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] 该命令实际是将公钥放到~/.ssh/authorized_keys文件中文件中,也可以使用 将公钥复制到对方主机scp /root/.ssh/id_rsa.pub 192.168.171.101:/tmp 在另外主机上cat /tmp/id_rsa.pub ~/.ssh/authorized_keys即可 如果

Linux上实现ssh免密码登陆远程服务器

0.说明 平常使用ssh登陆远程服务器时,都需要使用输入密码,希望可以实现通过密钥登陆而免除输入密码,从而可以为以后实现批量自动部署主机做好准备. 环境如下: IP地址 操作系统 服务器端 10.0.0.128/24 CentOS 6.5 x86 客户端 10.0.0.129/24 Ubuntu 16.04 x86 1.客户端生成密钥对 生成密钥对: [email protected]:~$ ssh-keygen -t rsa -b 2048 Generating public/private 

SSH配置无密码登陆

步骤1: 用 ssh-key-gen 在本地主机上创建公钥和密钥 [email protected]$ ssh-keygen -t  rsa Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[Enter key] Enter passphrase (empty for no passphrase): [Press enter key] Enter same passphrase again: [Pess enter k