liunx 机器之间配置 ssh 免密登陆

本贴最后更新于 2286 天前,其中的信息可能已经事过境迁

SSH 服务简介

root 用户的互信在维护监控时可有可无,hadoop 用户的互信最好配置上。

  1. ssh-keygen 创建公钥(Public Key)和密钥(Private Key)。?
  2. ssh-copy-id 把本地主机的公钥复制到远程主机的 authorized_keys 文件上。也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys 设置合适的权限?
  3. 我们使用 client 端去登陆 server 端免密码输入。
    lClient 必须制作 Public & Private 这两把 keys,且 Private Key 需放到~/.ssh/ 内;
    lServer 必须要有 Public Key ,且放置到用户家目录下的~/.ssh/authorized_keys,同时目录的权限 (.ssh/) 必须是 700 而目录文件则必须为 644 ,同时文件的拥有者与群组都必须与该账号吻合才行。

安装步骤:

  1. 步骤 1: 用 ssh-key-gen 在本地主机上创建公钥和密钥 ssh-keygen -t rsa
  2. 步骤 2: 用 ssh-copy-id 把公钥复制到远程主机上 ssh-copy-id -i ~/.ssh/id_rsa.pub? root@192.168.6.102
  3. 步骤 3: 直接登录远程主机 ssh 192.168.6.102

示例:

[breath@nagios1 ~]$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/breath/.ssh/id_rsa): [Enter key] Enter passphrase (empty for no passphrase): [Enter key] Enter same passphrase again: [Enter key] Your identification has been saved in /home/breath/.ssh/id_rsa. Your public key has been saved in /home/breath/.ssh/id_rsa.pub. The key fingerprint is: cd:5a:2a:bb:4a:49:97:8a:2d:70:19:18:60:56:9c:78 breath@nagios1 The key's randomart image is: +--[ RSA 2048]----+ |+o+.. | |o+ E | |. o | | o . o | |. o . o S + | | o + + + | | o = . o | | o o | | ..o. | [breath@nagios1 ~]$ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.80.131 nagios1 192.168.80.132 nagios2 [breath@nagios1 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub breath@192.168.80.132 breath@192.168.80.132's password: Now try logging into the machine, with "ssh 'breath@192.168.80.132'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. [breath@nagios1 ~]$ ssh nagios2 Last login: Mon Sep 1 16:35:04 2014 from nagios1 [breath@nagios2 ~]$ exit logout Connection to nagios2 closed.

集群统一配置步骤

集群内由于服务器较多,单个设置较繁琐,所以思路是将一台服务器生成密钥公钥然后传输到其他所有服务器上去,即可免密。设置之前确认集群内服务器无已经存在的密钥,否则会覆盖,造成已经存在的密钥失效。

[breath@nagios1 .ssh]$ cd ~/.ssh/ [breath@nagios1 .ssh]$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/breath/.ssh/id_rsa): [Enter key] Enter passphrase (empty for no passphrase): [Enter key] Enter same passphrase again: [Enter key] Your identification has been saved in /home/breath/.ssh/id_rsa. Your public key has been saved in /home/breath/.ssh/id_rsa.pub. The key fingerprint is: 82:77:58:ca:bb:34:d4:27:4b:89:b0:83:6e:c8:3e:ad breath@nagios1 The key's randomart image is: +--[ RSA 2048]----+ | | | | | . . | | . = * . | | . + O S . | |.o + = + | |..+ + . | |.o . . o | | Eo . | +-----------------+ [breath@nagios1 .ssh]$ ls -lrt total 8 -rw-r--r-- 1 breath breath 396 Sep 1 16:53 id_rsa.pub -rw------- 1 breath breath 1675 Sep 1 16:53 id_rsa [breath@nagios1 .ssh]$ cp id_rsa.pub authorized_keys [breath@nagios1 .ssh]$ chmod 600 authorized_keys [breath@nagios1 .ssh]$ scp * nagios2:~/.ssh/ The authenticity of host 'nagios2 (192.168.80.132)' can't be established. RSA key fingerprint is b8:42:c9:d5:c0:ed:a4:58:4a:bc:92:96:0b:a2:0d:96. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'nagios2,192.168.80.132' (RSA) to the list of known hosts. breath@nagios2's password: [input password for breath@nagios2] authorized_keys 100% 396 0.4KB/s 00:00 id_rsa 100% 1675 1.6KB/s 00:00 id_rsa.pub 100% 396 0.4KB/s 00:00 [breath@nagios1 .ssh]$ [breath@nagios1 .ssh]$ ssh nagios2 Last login: Mon Sep 1 16:53:08 2014 from nagios1
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    952 引用 • 944 回帖
  • SSH
    45 引用 • 51 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
kevinBobo
只想安安稳稳睡个好觉~

推荐标签 标签

  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3455 回帖 • 168 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 60 关注
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    15 引用 • 7 回帖
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 53 关注
  • 反馈

    Communication channel for makers and users.

    126 引用 • 930 回帖 • 270 关注
  • AWS
    11 引用 • 28 回帖 • 10 关注
  • 叶归
    5 引用 • 16 回帖 • 7 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    189 引用 • 1057 回帖
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • 导航

    各种网址链接、内容导航。

    43 引用 • 177 回帖
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    8 引用 • 26 回帖 • 2 关注
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    76 引用 • 1742 回帖
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    127 引用 • 169 回帖
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 71 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    947 引用 • 1460 回帖
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    99 引用 • 367 回帖
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖 • 1 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 644 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    239 引用 • 224 回帖
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 435 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖 • 1 关注
  • Anytype
    3 引用 • 31 回帖 • 16 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4601 回帖 • 702 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 79 关注