0.说明

这里为了方便说明问题,假设有A和B两台安装了centos6.5的主机。目标是实现A、B两台主机分别能够通过ssh免密码登录到对方主机。不同主机的配置过程一样,这里介绍A主机的配置过程。

事先在AB主机分别创建好要免密码登录的用户名,在/etc/hosts文件增加主机名和ip。

创建新用户:useradd linuxidc
设置密码:passwd linuxidc,输入自己想要的密码即可,之后su linuxidc切换用户
修改主机名:vim /etc/sysconfig/network,加入hostname=master,注销系统之后即可看到修改成功
修改hosts文件:vim /etc/hosts
192.168.88.101 master
192.168.88.102 slave1

1.环境设置

1.1 关闭防火墙(root权限)

centos6.5对网络管理相当严格,需要关闭selinux。到/etc/selinux/config下,把SELINUX=enforcing修改为SELINUX=disabled 。需要root权限。

# su root
Password:
$ vim /etc/selinux/config
找到SELINUX并修改为SELINUX=disable

1.2 修改sshd的配置文件(root权限)

$ vim /etc/ssh/sshd_config
  找到以下内容,并去掉注释符“#”
  RSAAuthentication yes
  PubkeyAuthentication yes
  AuthorizedKeysFile .ssh/authorized_keys

1.3 重启sshd服务(root权限)

$ /sbin/service sshd restart

2.本机生成公钥和私钥

从root切换回要免密码登录的用户linuxidc,执行命令。

# ssh-keygen -t rsa

默认在用户linuxidc的家目录(~/.ssh/)生成两个文件:
id_rsa: 私钥
id_rsa.pub:公钥

3.把公钥导入到认证文件

3.1 导入到本机

# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

完成这一步,再按照步骤4修改相关文件权限,可以免密码登录本机。可以输入以下命令验证。

ssh localhost

如果能够登录,即验证成功。

3.2 导入到目标主机

3.2.1在本机操作,传送到目标主机

# scp ~/.ssh/id_rsa.pub root@目标主机ip或主机名:/home/id_rsa.pub

注意把文件传送到目标主机时,要用root用户,否则会因权限不够而拒绝。输入目标主机密码后,出现OK即传输成功。

3.2.2 登录到目标主机,把公钥导入到认证文件

使用要被免密码登录的用户名linuxidc,登录到目标主机。然后执行以下操作。

# cat /home/id_rsa.pub >> ~/.ssh/authorized_keys

再按照步骤4修改相关文件权限,完成免密码登录设置。

4.更改相关文件的权限

# chmod 700 ~/.ssh
# chmod 600 ~/.ssh/authorized_keys

至此,完成免密码登录设置。

5. 测试

A主机(linuxidc@master),B主机(linuxidc@slave1)。在A主机,切换为linuxidc用户,执行以下命令测试:

ssh slave1

能够免密码直接登录,即设置成功。如果出错,请仔细检查以上各个步骤。

CentOS 6.5之SSH 免密码登录的更多相关文章

  1. 在CentOS/RHEL上设置SSH免密码登录

    本文会告诉你怎样在 CentOS/RHEL 上设置 SSH 免密码登录.自动登录配置好以后,你可以通过它使用 SSH (Secure Shell)和安全复制 (SCP)来移动文件. SSH 是开源的, ...

  2. CentOS 6.5配置SSH免密码登录

    centos 系统对权限的设置非常微妙,如果权限设置大了则ssh 拒绝,如果权限小了,则ssh 更是被拒绝(我曾经配置好久没有打通,就是因为权限过大的原因) 参考链接:http://www.linux ...

  3. 多台CentOS服务器下实现SSH免密码登录

    ROOT用户下实现SSH免密码登录 第一步:进入目录/root/.ssh $ cd  /root/.ssh/ 执行以下命令,会在当前目录下生成公钥(id_rsa.pub)/私钥(id_rsa)对 第二 ...

  4. 如何配置ssh免密码登录

    [TOC] 如果你在管理一堆unix机器,每次登录都要输入密码是挺烦的事情,一方面为了安全我们一般不会将所有机器的密码都设置成一样,另一方面就算一样每次都输入一遍也很麻烦. 这种情况下我们一般是用ss ...

  5. centos ssh 免密码登录

    最近在学习的过程中遇到这个问题: A主机和B主机: A 免密码登录B: 首先在A的 ~/.ssh 目录中 执行 ssh-keygen -t rsa 一路回车 最后生成连个文件: 将id_rsa.pub ...

  6. Centos 解决SSH 免密码登录 以及Crontab制作定时SSH自动登录和关闭的脚本

    一.SSH免密码登录 假设要登录的机器为192.168.1.100,当前登录的机器为192.168.1.101. 首先在101的机器上生成密钥(如果已经生成可以跳过): $ ssh-keygen -t ...

  7. CentOS服务器配置SSH免密码登录

    由于工作需要,经常要登录到多台服务器远程操作,每次都是ssh user@host:port 再输入密码,时间长了,难免觉得乏味-- 故而从度娘那里扒来了一些让SSH免密码登录的办法,其实这也是使用Gi ...

  8. centos配置ssh免密码登录

    master.slave1两台机器实现ssh免密码登录,user:hadoop,passwd:123456 1.设置master: vi /etc/sysconfig/network hostname ...

  9. CentOS 6.4 SSH 免密码登录

    在配置apache集群分布时,要使用SSH免密码登录.假设现在有两台机器apache@svn(192.168.1.100)作为svn机,apache@app(192.168.1.101)作为app机. ...

随机推荐

  1. yield与gen.coroutine

    def d(): for i in range(2): yield i def b(): yield d() print("b") yield "bb" def ...

  2. randomForest R 学习笔记

    object type randomForest 会根据变量的类型来决定regression或classification.class(iris$Species)是 factor,所以是classif ...

  3. Java 13 在win10 安装及配置

    java 13 SDK 下载 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk13-downloads-5672538 ...

  4. 对eventloop的研究

    javasctipt是一门单线程的非阻塞的脚本语言,单线程意味着,JavaScript 单线程意味着,javascript代码在执行的任何时候,都只有一个主线程来处理所有的任务. JavaScript ...

  5. java连接redis5.0单机版报连接超时错误

    使用java代码测试redis5.0单机版时,报redis连接超时异常,而linux上的redis能正常访问: redis.clients.jedis.exceptions.JedisConnecti ...

  6. GEI步态能量图生成

    步态能量图生成主要有两步,主要为: 在原始轮廓图上对人的轮廓进行裁剪,在下面制作步态能量图图片叠加以什么为中心位置也是一个问题.一般有两种方式,一种是中心位置为人体宽的一半.另一种是以头顶为中心位置. ...

  7. 洛谷 P4300 BZOJ 1266 [AHOI2006]上学路线route

    题目描述 可可和卡卡家住合肥市的东郊,每天上学他们都要转车多次才能到达市区西端的学校.直到有一天他们两人参加了学校的信息学奥林匹克竞赛小组才发现每天上学的乘车路线不一定是最优的. 可可:“很可能我们在 ...

  8. 5 October

    POJ2676 Sudoku 位运算 + 搜索.更好的优化方法:方案数最小的空格先填. 把某一位 置为 0:a &=~ (1<<n) 把某一位 置为 1:a |= (1<&l ...

  9. [CSP-S模拟测试]:Travel(贪心+构造)

    题目描述 给定一个长度为$n$的格子序列$x_1,x_2,...,x_n$.每一次$Lyra$可以选择向左跳到任意一个还没到过的位置,也可以向右跳到任意一个还没到过的位置.如果现在$Lyra$在格子$ ...

  10. 重写LayoutParams,读取子View自定义属性

    在EasyConstraintLayout内部定义一个静态类LayoutParams继承ConstraintLayout.LayoutParams,然后在构造方法中读取上面自定义的属性.我们通过裁剪的 ...