场景:服务器B (192.168.1.101)免密登录A(192.168.1.100)服务器

1、登录服务器B

  ①生产公钥

ssh-keygen -t rsa
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

注意:1、在第二步的时候千万不要改名,采坑的教训;2、普通用户(非root),先切换到用以登录的用户

  ②上传公钥到服务器A

cd .ssh
scp id_rsa.pub root@192.168.100.100:/root

2、登录服务器A(被免费登录服务器)

cd /root/.ssh
cat ../id_rsa.pub >> authorized_keys

若为普通账号(非root),则目录为 /home/用户名/.ssh/authorized_keys,不存在目录或文件就先创建

3、免密登录多台服务器

  在执行ssh-keygen -t rsa的时候如果不输入文件名,会替换掉id_rsa文件,即上一次通过该文件设置的密码登录将失效,要支持免密登录多台服务器需要生成秘钥的的时候指定新的文件名

  然后在B服务器.ssh目录编辑文件:config,该文件没有扩展名,通过该文件来指定秘钥,如下

  

Host 172.16.4.220
HostName 172.16.4.220
IdentityFile ~/.ssh/id_rsa_robot
User robot

  host和hotsname都指定主机域名或ip地址

  IdentityFile  指定密钥文件

  User 指定登录的账号

4、如果ssh免密登录失败可以增加 -vvv参数查看登录日志

ssh 客户端日志:ssh  user@ip -vvv

新启动一个带debug的ssh服务端:通过执行 /usr/sbin/sshd -d -p 2222 (在2222端口启动一个带debug输出的sshd,注意防火墙问题)

5、其它问题

Bad owner or permissions on .ssh/config的解决
当为本机配一个固定用户名远程登录某主机时,配置了一个config文件,但是在执行ssh免密码登录时报如下的错误:Bad owner or permissions on .ssh/config的解决。

经过查找资料发下解决办法如下:

sudo chmod 600 config

Authentication refused: bad ownership or modes错误解决方法

sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。
用户目录权限为 755 或者 700,就是不能是77x。
.ssh目录权限一般为755或者。
rsa_id.pub 及authorized_keys权限一般为
rsa_id权限必须为

解决方法
检测目录权限,把不符合要求的按要求设置权限即可。

ssh 制作免密登录(免密登录多台服务器)的更多相关文章

  1. ssh 如何通过外网访问内网多台服务器

    本帖子未验证: 我看到一个论坛,坛友发的一个问题 http://bbs.51cto.com/thread-934340-1.html 解决方法,我自己开了这个帖子写在这里. 首先你需要一个软件“Sec ...

  2. 【Linux】两台服务器ssh免密登录

    背景: 有些场景可能用到两台服务器ssh免密登录.比如服务器自动化部署 开始准备:  服务器A  linux   ip: 192.168.1.1 服务器B  linux  ip: 192.168.1. ...

  3. 多台服务器-SSH免密登录设置

    在4台服务器-SSH免密登录设置,如以下4台服务器 master1 node001 node002 node003 我想在master1对4台服务器进行拉取或者分发任务或者是集群服务器的批量操作,但是 ...

  4. SSH远程登录:两台或多台服务器之间免密登录设置

    有两台(或多台)同局域网的服务器A:192.168.2.21,B:192.168.2.25.让A,B这两台服务器之间能两两互相免密登录,并且每台服务器都可以自我免密登录(自我免密登录即:ssh loc ...

  5. 【原】linux两台服务器之间免密登录方法

    搭建集群机器192.168.0.100和192.168.0.200里,需要两台机器中间相互拷贝文件: 方式一:下载192.168.0.100机器文件到本地,再将本地文件拷贝到B机器 方式二:192.1 ...

  6. SSH配置—Linux下实现免密码登录

    首先,假设我们有两台服务器,服务器名称分别是 master 和 slave1,我们现在需要做的就是在服务器 master 上面登录 服务器 slave1 不需要输入密码就可以登录成功,如下图所示. 下 ...

  7. java:Linux(简单命令,远程ssh使用hostname访问,.免密钥登录配置)

    1.临时关闭防火墙: service  iptables  stop 临时开启防火墙: service  iptables  start 查看防火墙状态: service  iptables  sta ...

  8. 增强VPS SSH账号安全:改端口,禁用Root,密钥登录,Denyhosts防暴力攻击

    VPS SSH账号是我们日常管理VPS的主要登入方式,尤其是Root账号,对Linux系统安全至关重要.以前好多站长喜欢用Putty中文版,这实际是别人修改官方Putty汉化而来,这些软件被植入了后门 ...

  9. linux下开启SSH,并且允许root用户远程登录,允许无密码登录

    参考:http://blog.csdn.net/jia0511/article/details/8237698 1. 允许root用户远程登录 修改ssh服务配置文件 sudo vi /etc/ssh ...

随机推荐

  1. LeetCode--018--四数之和(java)

    给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满 ...

  2. 查看局域网指定IP的电脑名

    nbtstat -a 192.168.0.139 节点 IP 址址: [192.168.0.140] 范围 ID: [] NetBIOS 远程计算机名称表 名称 类型 状态 ------------- ...

  3. 打造springboot高性能服务器(spring reactor的使用)

    推荐:https://www.cnblogs.com/ivaneye/p/5731432.htmlpom依赖: <dependency> <groupId>org.spring ...

  4. C++ leetcode Binary Tree Maximum Path Sum

    偶然在面试题里面看到这个题所以就在Leetcode上找了一下,不过Leetcode上的比较简单一点. 题目: Given a binary tree, find the maximum path su ...

  5. BootCamp 在MacBook 上安装Win10

    首先到网上下载win10的ISO光盘, 制作win10安装盘时,一直停在copy文件.最后文件还是没有copy完整. 需要手工把iso里的文件拷贝到U盘里. 否则提示source\install.wi ...

  6. Samba服务与Nginx服务

    Samba服务: 1 准备环境 =====>part1: iptables -F 清楚防火墙配置 #systemctl disable firewalld #开机默认关闭 #systemctl ...

  7. top 常用

    top -c 查看进程 同时 shift +m 内存倒序

  8. Sql语句内功心法

    CREATE SCHEMA <模式名> AUTHORIZATION <用户名> 定义模式实际上定义了一个命名空间,在这个空间可以进一步定义该模式包含的数据库对象,例如基本表,视 ...

  9. .net core 生成

    查看发布命令:dotnet publish --help 1:进入项目根目录 2:dotnet publish     或者发布到指定路劲  dotnet publish .\web.meb.scpr ...

  10. linux系统转换root权限

    有时候我们用普通用户的权限没办法完成有关权限,这时候我们就需要拿到root权限才可以,拿到root权限有两种方式 方式一: su - 或者su 此时就会提示你输入密码,输入密码成功以后就能以root权 ...