ssh-keygen的使用方法
一、概述
1、就是为了让两个linux机器之间使用ssh不需要用户名和密码。采用了数字签名RSA或者DSA来完成这个操作
2、模型分析
假设 A (192.168.20.59)为客户机器,B(192.168.20.60)为目标机;
要达到的目的:
A机器ssh登录B机器无需输入密码;
加密方式选 rsa|dsa均可以,默认dsa
二、具体操作流程
单向登陆的操作过程(能满足上边的目的):
1、登录A机器
2、ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
3、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys
4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;(直接运行 #ssh 192.168.20.60 )
双向登陆的操作过程:
1、ssh-keygen做密码验证可以使在向对方机器上ssh ,scp不用使用密码.具体方法如下:
2、两个节点都执行操作:#ssh-keygen -t rsa
然后全部回车,采用默认值.
3、这样生成了一对密钥,存放在用户目录的~/.ssh下。
将公钥考到对方机器的用户目录下 ,并将其复制到~/.ssh/authorized_keys中(操作命令:#cat id_dsa.pub >> ~/.ssh/authorized_keys )。
4、设置文件和目录权限:
设置authorized_keys权限
$ chmod 600 authorized_keys
设置.ssh目录权限
$ chmod 700 -R .ssh
5、要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。(今天就是遇到这个问题,找了好久问题所在),其实仔细想想,这样做是为了不会出现系统漏洞。
我从20.60去访问20.59的时候会提示如下错误:
The authenticity of host '192.168.20.59 (192.168.20.59)' can't be established. RSA key fingerprint is 6a:37:c0:e1:09:a4:29:8d:68:d0:ca:21:20:94:be:18. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.20.59' (RSA) to the list of known hosts. root@192.168.20.59's password: Permission denied, please try again. root@192.168.20.59's password: Permission denied, please try again. root@192.168.20.59's password: Permission denied (publickey,gssapi-with-mic,password).
三、总结注意事项
1、文件和目录的权限千万别设置成chmod 777.这个权限太大了,不安全,数字签名也不支持。我开始图省事就这么干了
2、生成的rsa/dsa签名的公钥是给对方机器使用的。这个公钥内容还要拷贝到authorized_keys
3、linux之间的访问直接 ssh 机器ip
4、某个机器生成自己的RSA或者DSA的数字签名,将公钥给目标机器,然后目标机器接收后设定相关权限(公钥和authorized_keys权限),这个目标机就能被生成数字签名的机器无密码访问了
ssh-keygen的使用方法相关推荐
- linux远程登录ssh免密码配置方法
这篇文章主要介绍了linux远程登录ssh免密码配置方法,需要的朋友可以参考下 一.情景 公司刚上几台Linux,现在要把主机之间都能远程ssh免密码登陆. 二.原理 很简单,使用ssh-keygen ...
- linux git ssh 配置文件,git bash配置ssh 登录 Linux的方法
1.首先在 Linux 服务器上生成公钥和私钥文件,默认的存放目录在~/.ssh下. ssh-keygen 可以将密码留空,这样之后就可以免密码登录. 2.将私钥文件拷贝到本机. scp root@1 ...
- 在Linux系统下更改或更新SSH密钥密码的方法
本文介绍如何在Linux系统下更新或更改SSH密钥密码,也适用在Unix系统中.SSH密钥通常用于向某些信息系统的用户进行身份验证,SSH密钥本身是私钥,使用从密码短语导出的对称加密密钥进一步加密私钥 ...
- SSH启动失败解决方法
SSH启动失败解决方法 参考文章: (1)SSH启动失败解决方法 (2)https://www.cnblogs.com/setevn/p/7845987.html 备忘一下.
- ssh远程执行命令 linux,Linux下使用SSH远程执行命令方法收集
说明:可以做SSH免密登录之后执行,这样可以省去每次执行输入密码的提示. 对于简单的命令: 如果是简单执行几个命令,则: ssh user@remoteNode "cd /home ; ls ...
- ssh免密登录方法不生效?Authentication refused: bad ownership or modes for directory
机器A通过ssh登录机器B,方法有两种: 1.密码方式 2.密钥方式: 两种方式同时开启的时候,优先使用密钥方式. 密钥登录方式的配置方法是,首先在登录机器B上创建文件authorized_keys( ...
- ssh不能进入save方法_如何 SSH 登录到 Linux 上的特定目录
你是否遇到过需要 SSH 登录到远程服务器并立即 cd 到一个目录来继续交互式作业?你找对地方了!这个简短的教程描述了如何直接 SSH 登录到远程 Linux 系统的特定目录.而且不仅是 SSH 登录 ...
- SSH常见问题及其解决方法
SSH是Linux中的基础服务,作为IT从业者,基本上每天都要SSH连接到服务器中,从事各种各样的工作.作为这样基础的不能再基础的服务,一旦出现问题,影响也是巨大的,连不上就无法对服务器进行配置和更改 ...
- linux ssh复制粘贴,Linux下SSH Session复制功能实现方法
特别感谢阿干同学的邮件分享. 详细方法 复制代码代码如下: Linux/mac下,在$HOME/.ssh/config中加入 Host * ControlMaster auto ControlPath ...
- ssh连接超时解决方法
ssh连接超时,主要有以下三种方法来解决: 1.修改server的/etc/ssh/sshd_config,添加下面两个选项: ClientAliveInterval 60 //server每隔60秒 ...
最新文章
- Linux-CentOS 查看(监控)服务器网卡流量
- 自动解析复杂类的属性 实现归档或者进行序列化 反序列话的时候为每一个属性添加序列化方法的繁琐...
- java虚拟机启动参数分类详解
- 自然语言处理期末复习(6)话题模型
- 杂项-权限管理:RBAC
- 介绍自己的一个Android插桩热修复框架项目QuickPatch
- OpenCV入门及应用案例:手把手教你做DNN图像分类
- noise函数的使用
- (组合数学笔记)递推关系小结及典型题分析
- 做自媒体的目的是让人记住你
- Python3入门机器学习经典算法与应用 第3章 numpy矩阵运算
- 因使用盗版软件赔偿 869 万元 :CIO被开除、罚 15 万元
- 远程协助计算机是灰色的,win10远程协助,win10远程协助灰色
- 计算机显示器分辨率,现在电脑的主流显示器的分辨率一般是多大?
- 我喜欢的作品风格: 韩国daksha作品IF YOU GO AWAY…
- linux文件系统与日志文件
- Java Dad08
- React使用antd的警告findDOMNode is deprecated in StrictMode. findDOMNode was passed an instance of Wave
- 【回顾】基于树莓派下的4G模块(EC200U-CN)实现远程控制短信的收发
- 几种开源分词工具的比较
热门文章
- 软件工程师是青春饭吗?
- Jquery插件实现“点击获取验证码后60秒内禁止重新获取(防刷新)”
- 黑盒测试方法之错误推测法概述
- 主力吸筹猛攻指标源码_主力吸筹指标-(源码)
- 使用结构化思维,让工作有条不紊
- 珠海分销系统官网开发笔记:wordpress中使用canonical标签修复版
- 帝国 loginjs.php,帝国CMS页面JS调用登录状态loginjs.php中获取会员头像的方法
- 电赛总结(四)——波形发生芯片总结之AD9854
- 电脑版美食大战老鼠放置html,美食大战老鼠电脑版
- javascript学习网站