OSX: SSH密钥使用日记(1)
大家都知道,一个悠久的历史故事,使用SSH密钥对就可以不用密码登陆远程计算机。经典资料也是不少,不过那些资料对新学者可是有点太不象人话了,不好理解。所以本文试图用更人性一点的语言解释,并演示如何在Mac之间实现。
不得已,还得先说说术语。SSH密钥对,说白了就是一对锁和钥匙。密钥对之所以说是"对",那是因为它是由叫做公有和私有两个密钥组成,而且是一对一的一对,它们最初是由随机产生的一对质数生成的-具体深度的技术细节要牵扯到数学,头大的很。目前来说,针对世界上99.99%的盗贼,基本是不可能破解的,也就是无法通过共有密钥,来反推出私有密钥的内容。总之吧,记住:公有密钥是可以公开给任何人的,而私有密钥是要自己保存好的;所以,把它们当作一把钥匙开一把锁。
通过工具,可以制作一把钥匙(私有密钥)和一把锁(公有密钥),这个锁只能使用这一把把钥匙打开,在计算机这个可以自由复制的世界里,钥匙和锁都可以复制,如果你好好保管,不把钥匙丢失/公开,那么锁做多少把都无所谓,反正就是这一把钥匙可以开,也就是说,咱可以给要控制的所有计算机都安装这把锁的复制品,那么用这一把钥匙就可以控制这些计算机了。有的时候为了安全,你还可以给这把钥匙加上一个暗号(passphrass),暗号不对,这把钥匙也没法使用。
计算机系统就如同一座防卫森严的城堡,它的围墙根,有个正门(登录窗口服务),是让人们正常进入的通道,那儿有个门卫(登陆验证程序)让你出示证件(用户名和密码);有时,门卫需要打电话给大管家,确认你的身份(网络用户登陆),因为通行证/路牌可以被盗/泄露,但是城墙内的那个管家只有一个,它认识所有被准许进入的人,管家一看,Ok就是这个人了,门卫才让你进,如果电话故障不通,你也从来没有来过留下指纹,就不让你进;有的时候一看就是本地熟人(本地帐户),打声招呼欧了,就让你进门去了;而本地熟人这个路数很容易出现问题,门卫可能被收买或者易容术骗过门卫。
为什么要用SSH密钥就可以不用密码登陆其它计算机呢?那是因为,你或者任何有足够权利的人(大管家自己或者大管家的替身)-在那个计算机的一面墙(ssh服务)上,安装了一道门(authorized_keys),在这个门上安装了锁,这个锁就是你的公有密钥,你拿着自己的那把钥匙-私有密钥,如果这把钥匙设置了暗号,那么在使用钥匙时你先要对上暗号-嘛哩嘛哩哄,打开这把锁,推开门就进去了。另外一个人-如果又足够权限,也可以安装自己的一个门和锁,用自己的钥匙开锁也可以进去。
一般来说,开SSH进去的路,都是区区弯弯的小路,不象正门,大道两旁灯火通明的,有会客室,有大厅,有厢房,人来人往的,你动动嘴就有衙役跟班的帮你四处行走,把事给办了;而SSH的小路,办什么事都要自己亲自去做,比较累,不过有些事情只要是mo men办起来也特别顺利,。
所以,计算机是否安全不能光看墙有多高,布满电网,拉着带刺铁丝网的,看上去挺吓人的。笨的去剪铁丝网,扛着大炮轰(暴力破解),巧的的找窍门,找到门就好说了。所以是否安全,主要看你墙上有多少门,每个门和门锁是否都足够安全。话说远了。
OSX: SSH密钥使用日记(1)的更多相关文章
- OSX: SSH密钥使用日记(2)
准备钥匙和锁(密钥对): $ pwd /Users/test $ ssh-keygen -t dsa -C "$(whoami)@$(hostname),$(date '+%F %T')&q ...
- 转载 :配置ssh密钥认证自动登录
原文地址 :https://segmentfault.com/a/1190000000481249 在客户端来看,SSH提供两种级别的安全验证.[摘自wikipedia] 第一种级别(基于密码的安全验 ...
- 《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令
2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会 ...
- 多个网站使用不同的SSH密钥登陆(zz)
多个网站使用不同的SSH密钥登陆 1.创建不同的SSH密钥, -t指定加密方法,RSA或DSA:-C注释:-f指定文件名 www.2cto.com ssh-keygen -t dsa -C ...
- 烂泥:学习ssh之ssh密钥随身携带
本文由秀依林枫提供友情赞助,首发于烂泥行天下 在上一篇文章<烂泥:学习ssh之ssh无密码登陆>中,我们讲解了如何使用ssh密钥,免密码登陆服务器. 这篇文章我们再来讲解,如何把已经生成的 ...
- 添加SSH密钥到GitHub
$ clip < ~/.ssh/id_rsa.pubbash: /c/Users/UsersName/.ssh/id_rsa.pub: No such file or directory [转] ...
- 使用SSH密钥连接Github
使用Github,也许大家觉得比较麻烦的就是在每次push的时候,都需要输入用户名和密码.如果使用SSH,就可以记住用户名,并创建属于自己 的密码来保证安全操作,还有神奇的一招可以“不用输入密码”哦. ...
- [转] SSH 密钥认证机制
使用 RSA 密钥对进行 SSH 登录验证 使用 RSA 密钥对验证 SSH 的优点是 1) 不用打密码 2) 比密码验证更安全:缺点是 1) 第一次配置的时候有点麻烦 2) 私钥需要小心保存.Any ...
- git使用ssh密钥和https两种认证方式汇总(转)
在版本库的SSH方式和HTTPS方式是不同的,具体来说就是url信息的不同,但是,实际的认证机制也是不同的.当建立了本机密钥之后,使用ssh方式实际上是不需要再次认证的,而https则每次需要输入密码 ...
随机推荐
- %( $# > 1 %? if (tid() in trace) %) 是什么意思
http://blog.csdn.net/sunnybeike/article/details/7769663 http://blog.163.com/digoal@126/blog/static/1 ...
- strace_for_windows
http://drmemory.org/strace_for_windows.html https://github.com/intellectualheaven/stracent/releases
- linux strace追踪mysql执行语句 (mysqld --debug)
转载请注明出处:使用strace追踪多个进程 http://www.ttlsa.com/html/1841.html http://blog.itpub.net/26250550/viewspace- ...
- OPC Server开发的几大境界
OPC server的开发相对OPC client 更加困难,OPC server 的开发主要应用COM技术,主要应用书籍为潘爱民写的<COM入门和应用>,大量的技术有很大的可重用性,在开 ...
- flashcache的实现与分析
最近,由于项目需要,在做关于flashcache的一些工作,主要涉及模块组织.元数据管理及数据分布.读写流程分析.数据在磁盘和 cache(SSD)之间的调度.缺点及可优化方向等一些方面的分析研究.也 ...
- 在oracle中查询已知表名的表中所有字段名,每个字段是否是主键,是否是外键,是否为空的sql语句
查询表的所有列及其属性:select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c ...
- [Linux] Linux 守护进程的启动方法
reference : http://www.ruanyifeng.com/blog/2016/02/linux-daemon.html "守护进程"(daemon)就是一直在后台 ...
- poj 1201 Intervals 解题报告
Intervals Time Limit: 2000MS Memory Limit: 65536KB 64bit IO Format: %lld & %llu Submit Statu ...
- 开启otl的64位长整数支持
要开启OTL的64位长整数支持,必须先定义宏 #define OTL_BIGINT __int64 // VC++, Borland C++ 或者 #define OTL_BIGINT long lo ...
- Informatica 常用组件Lookup之五 转换属性
查找转换的属性标识数据库源.PowerCenter 如何处理转换,以及它如何处理高速缓存和多项匹配. 创建映射时,为每个查找转换指定属性.创建会话时,您可在会话属性中覆盖某些属性,如每个转换的索引和数 ...