环境2台linux服务器:node1 192.168.X.234 

                             node2 192.168.X.242

演示用node1无密码登陆node2,秘钥登陆是单向的,如果要双向登陆再反过来配置一下就可以

在node1上面创建密钥对

#在/root/.ssh/目录下执行ssh-keygen  一直回车就行,如果有需要也可以给密码设置密码
[root@--X- .ssh]# ssh-keygen
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:
ec::8d:a2:2e:a4::f2:b4::4c::::: root@---.baicheng.com
The key's randomart image is:
+--[ RSA ]----+
| +.. |
| o E |
| = |
| . o + . |
| + o o S |
| = = o |
|= B + . |
|+ * |
|.. |
+-----------------+

ls查看 目录下面多了2个文件就是 公钥和私钥,公钥内容需要添加到给你想登陆的那台机器的任何用户下的.ssh/authorized_keys,添加到哪个用户下面就用那个用户登陆就可以,这里我们添加到node2

[root@--X- .ssh]# ls
id_rsa id_rsa.pub

用ssh-copy-id 可以直接把id_rsa.pub里面的内容追加到对方的.ssh/authorized_keys里面

[root@--X- .ssh]# ssh-copy-id "-p62387 xiewenming@192.168.X.242"
Address 192.168.X.242 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Now try logging into the machine, with "ssh '-p62387 xiewenming@192.168.X.242'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. [root@--- .ssh]#

注意:如果默认端口不是22,那么ssh-copy-id "-p62387 xiewenming@192.168.X.242" 这里需要加引号,否则会报下面的错误

[root@--X- .ssh]# ssh-copy-id -p62387 xiewenming@192.168.X.242
Pseudo-terminal will not be allocated because stdin is not a terminal.
ssh: Could not resolve hostname umask ; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys; test -x /sbin/restorecon && /sb: Name or service not known

在node2的节点上查看,authorized_keys权限是600,如果是自己创建的文件得注意这个权限问题,.ssh目录文件夹权限为700

[root@--X- .ssh]# pwd
/home/xiewenming/.ssh
[root@--X- .ssh]# cat authorized_keys
AAAAB3NzaC1yc2EAAAABIwAAAQEA15QNqu6N0kkNv+e4qXD+Gz8TqWo7LJKeumuFAMD2ZDH0/MfKPKCfxOGv8k/cMB1XRKYFTuxR/ZW7HqmNK1wpppCqccxjKj/vOeWjuk16x2rMqqjkWBIedw7a/fGP87GC0DmOAe3bzWbqDY0rGA5jWR+YBItGES2GmW3889jJRhgcmQO2qsCnxfQ8g1D6XfpKSXCe7qvYtsqRn7Jcw35I39vx6kxpxgjtNobEo2Xw7tfx9n64poNzi72e/UF7mZSB5EZgKLM8uxw4wgBljB2yX9Cnsc5y4Qs+VzUaI7TyzR4RFTWiukOKCPEjxJPJ71E9/HL44Qi8LOTTBp/20T7JLw== root@---.xxx.com

到这里就已经配置完成可以在node1上面不用密码登陆到node2上面

[root@--X- .ssh]# ssh xiewenming@192.168.X.242
Address 192.168.X.242 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Last login: Tue Aug :: from 192.168.X.234
[xiewenming@--- ~]$ ifconfig |grep 192.168
inet addr:192.168.3.242 Bcast:192.168.X.255 Mask:255.255.255.0

ps:ssh-copy-id 是一个很好用的命令,如果没有这个命令有的运维人员经常拷贝公钥内容放到authorized_keys,那么拷贝经常出现的问题是原来公钥内容是一行,拷贝就会成了多行,需要手动调格式,降低了工作效率,有了上面的ssh-copy-id 基础完全可以写脚本批量完成对其它服务器的操作

配置ssh秘钥登陆的更多相关文章

  1. github 生成配置ssh 秘钥方法详解

    如果安装github成功后,当从本地提交文件到github的时候,提交不成功,报错,可能问题就是你还没有生成ssh秘钥 1.当你提交文件到github,不成功,出现如下的情况,就代表着github上面 ...

  2. git配置ssh秘钥(公钥以及私钥)linux

    本文默认已经安装git,并有github或者gitlab账号 git在linux下安装参考:https://www.cnblogs.com/lz0925/p/10791147.html 在Linux中 ...

  3. Xshell配置SSH秘钥登录

    秘钥生成 生成公钥 工具 -> 新建用户秘钥生成向导 -> 下一步 -> 点击下一步,输入密码: 点击下一步 点击保存为文件,完成. 生成私钥 工具 -> 用户秘钥管理者 选中 ...

  4. git配置ssh秘钥(公钥以及私钥)

    桌面版git,  本文以github为例,gitlab等其它托管平台一样操作 当我们将代码托管到远程平台(GitHub.gitlab等)时, 我们需要在本地使用git进行push/pull代码时,需要 ...

  5. Git简单配置ssh秘钥

    执行以下命令: git config --global user.name "demo" git config --global user.email "demo@dem ...

  6. linux配置无秘钥登陆

    linux配置无秘钥登陆 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近有点心烦,很少写博客了,后期的3个月里,估计更新的频率也不会太高,请见谅,今天给大家共享一下linux不 ...

  7. TortoiseGit与GIt生成ssh秘钥添加到github账号的简单方法!简单使用

    今天升级了自己电脑上的git与TortoiseGit,全部换成了最新版,后来不知道怎么的git的秘钥还能使用,可以直接拉取或者提交ssh地址克隆的代码,可是小乌龟客户端就悲剧了 公司的项目有key.p ...

  8. 在windows上使用ssh秘钥连接git服务器

    git部署在centos7上 安装好git后,新建一个用户test(注意要加入git用户组)配置ssh秘钥登录,我的另一篇博客有写配置步骤 重点的地方是在windows系统上使用秘钥登录git服务器 ...

  9. 服务器做ssh免秘钥登陆

    集群内服务器做非root用户免秘钥登陆:1.node1新建用户abc1,制作公钥.私钥(一路回车键即可)ssh-keygen –t rsa将自动在/home/abc1/.ssh/目录下创建公私钥文件如 ...

随机推荐

  1. Zipline Data Bundles

    Data Bundles A data bundle is a collection of pricing data, adjustment data, and an asset database. ...

  2. zipline整体架构

    在这里可以看出,zipline由下面几个主要的部分构成 名称 说明 TradingAlgorithm 量化策略的抽象,既可以通过初始化传入构造上参数的方式,也可以通过继承的方式构造,其中zipline ...

  3. MapReduce辅助排序

    需求:订单数据 求出每个订单中最贵的商品? 订单id正序,成交金额倒序. 结果文件三个,每个结果文件只要一条数据. 1.Mapper类 package com.css.order.mr; import ...

  4. socket编程之obj压缩加密传输

    因为需要序列化这个对象以便在网络上传输.所以POJO必需要实现java.io.Serializable接口.使用了 ObjectInputStream和ObjectOutputStream来接收和发送 ...

  5. IIS7 Microsoft.Web.Administration 创建Application问题

    在使用DirectoryEntry操作IIS时,可以设置很多属性.但使用Microsoft.Web.Administration中的一些类时,不知道在哪设置.例如:AccessScript,Acces ...

  6. 使用maven为web工程引入jstl包时报错了

    原pom文件: <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</a ...

  7. 【Spring Task】定时任务详解实例-@Scheduled

    Spring的任务调度,采用注解的形式 spring的配置文件如下,先扫描到任务的类,打开spirng任务的标签 <beans xmlns="http://www.springfram ...

  8. 转Hibernate 一对多关联的CRUD__@ManyToOne(cascade=(CascadeType.ALL))

    一:Group和Users两个类 假定一个组里有n多用户,但是一个用户只对应一个用户组. 1.所以Group对于Users是“一对多”的关联关系@OneToMany Users对于Group是“多对一 ...

  9. 数据库之ADO

    ADO是一种跨多种语言的数据库访问技术. 在MFC里面微软公司将这些函数封装为以下几个类. 在VS2013版本的MFC中,这些类是如下定义的. CDaoDatabase Class:https://m ...

  10. appium格式化循环点击