大家都知道,一个悠久的历史故事,使用SSH密钥对就可以不用密码登陆远程计算机。经典资料也是不少,不过那些资料对新学者可是有点太不象人话了,不好理解。所以本文试图用更人性一点的语言解释,并演示如何在Mac之间实现。

不得已,还得先说说术语。SSH密钥对,说白了就是一对锁和钥匙。密钥对之所以说是"对",那是因为它是由叫做公有和私有两个密钥组成,而且是一对一的一对,它们最初是由随机产生的一对质数生成的-具体深度的技术细节要牵扯到数学,头大的很。目前来说,针对世界上99.99%的盗贼,基本是不可能破解的,也就是无法通过共有密钥,来反推出私有密钥的内容。总之吧,记住:公有密钥是可以公开给任何人的,而私有密钥是要自己保存好的;所以,把它们当作一把钥匙开一把锁。

通过工具,可以制作一把钥匙(私有密钥)和一把锁(公有密钥),这个锁只能使用这一把把钥匙打开,在计算机这个可以自由复制的世界里,钥匙和锁都可以复制,如果你好好保管,不把钥匙丢失/公开,那么锁做多少把都无所谓,反正就是这一把钥匙可以开,也就是说,咱可以给要控制的所有计算机都安装这把锁的复制品,那么用这一把钥匙就可以控制这些计算机了。有的时候为了安全,你还可以给这把钥匙加上一个暗号(passphrass),暗号不对,这把钥匙也没法使用。

计算机系统就如同一座防卫森严的城堡,它的围墙根,有个正门(登录窗口服务),是让人们正常进入的通道,那儿有个门卫(登陆验证程序)让你出示证件(用户名和密码);有时,门卫需要打电话给大管家,确认你的身份(网络用户登陆),因为通行证/路牌可以被盗/泄露,但是城墙内的那个管家只有一个,它认识所有被准许进入的人,管家一看,Ok就是这个人了,门卫才让你进,如果电话故障不通,你也从来没有来过留下指纹,就不让你进;有的时候一看就是本地熟人(本地帐户),打声招呼欧了,就让你进门去了;而本地熟人这个路数很容易出现问题,门卫可能被收买或者易容术骗过门卫。

为什么要用SSH密钥就可以不用密码登陆其它计算机呢?那是因为,你或者任何有足够权利的人(大管家自己或者大管家的替身)-在那个计算机的一面墙(ssh服务)上,安装了一道门(authorized_keys),在这个门上安装了锁,这个锁就是你的公有密钥,你拿着自己的那把钥匙-私有密钥,如果这把钥匙设置了暗号,那么在使用钥匙时你先要对上暗号-嘛哩嘛哩哄,打开这把锁,推开门就进去了。另外一个人-如果又足够权限,也可以安装自己的一个门和锁,用自己的钥匙开锁也可以进去。

一般来说,开SSH进去的路,都是区区弯弯的小路,不象正门,大道两旁灯火通明的,有会客室,有大厅,有厢房,人来人往的,你动动嘴就有衙役跟班的帮你四处行走,把事给办了;而SSH的小路,办什么事都要自己亲自去做,比较累,不过有些事情只要是mo men办起来也特别顺利,。

所以,计算机是否安全不能光看墙有多高,布满电网,拉着带刺铁丝网的,看上去挺吓人的。笨的去剪铁丝网,扛着大炮轰(暴力破解),巧的的找窍门,找到门就好说了。所以是否安全,主要看你墙上有多少门,每个门和门锁是否都足够安全。话说远了。

OSX: SSH密钥使用日记(1)相关推荐

  1. 转载 :配置ssh密钥认证自动登录

    原文地址 :https://segmentfault.com/a/1190000000481249 在客户端来看,SSH提供两种级别的安全验证.[摘自wikipedia] 第一种级别(基于密码的安全验 ...

  2. vscode 使用ssh密钥登录远程Linux -- vscode remote linux ssh key

    此文首发于我的个人博客:vscode 使用ssh密钥登录远程 Linux – vscode remote linux ssh key - zhang0peter的个人博客 推荐先看文章:Windows ...

  3. GIT:如何管理本机的多个ssh密钥(多个远程仓库账号)

    生成新ssh key 如果我们电脑上已经存在了一个ssh key,那么我们需要在我们电脑上生成第二个你想在本电脑上使用的id_rsa,使用命令:ssh-keygen -t rsa -C "你 ...

  4. [原创]SSH密钥访问Git仓库配置

    SSH密钥并非为了解决拉取git仓库代码时,需要频繁输入密码的问题. SSH是一种比较安全的协议,可以用来免去远程登录Linux等服务器时需要输入密码的繁琐过程. 命令: ssh user@serve ...

  5. 如何指定在Git上执行shell命令时使用的私有SSH密钥?

    也许是一个相当不寻常的情况,但我想指定一个私有SSH密钥,以便在从本地计算机执行shell(git)命令时使用. 基本上是这样的: git clone git@github.com:TheUser/T ...

  6. GitHub防黑客新措施:弃用账密验证Git操作,改用token或SSH密钥,今晚0点执行

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 还在用账户+密码对GitHub上的Git操作进行身份验证? 赶紧整个token(令牌)或SSH密钥吧! 8月14号0点(8月13日9:00 ...

  7. linux git hudson,如何使用SSH密钥配置Hudson和git插件

    我的Hudson(连续集成系统)的git插件在Tomcat Windows服务上运行.已安装msysgit,并且msysgit bin目录位于路径中.已安装PuTTY / Pageant / plin ...

  8. ssh密钥分发之二:使用sshpass配合ssh-kopy-id编写脚本批量分发密钥:

    使用sshpass配合ssh-kopy-id编写脚本批量分发密钥:首先sshpass是一个ssh连接时的免交互工具,首先要安装一下: yum install sshpass -y接下来我们就可以使用s ...

  9. 配置Linux两节点SSH密钥信任

    首先感谢兄弟"瑞瑞"提供资料 1. 生成两节点Oracle用户SSH密钥 Racnode1 [root@racnode1 ~]#su - oracle--------------- ...

最新文章

  1. php计算格子xy,经纬度BL和直角坐标XY的正算反算 PHP代码
  2. Cakephp事件机制尝鲜
  3. 将本地源代码程序推送远程Github仓库
  4. BatchNorm中forward未被调用原因
  5. 自动化调参NNI学习(三):使用python启动NNI框架调整随机森林(RandomForest)模型
  6. 解秘java中native方法如何实现:手把手带你实现java native方法
  7. ISE14.7固化程序(生成.mcs文件再固化)
  8. IT人才外包服务的好处?
  9. 刷屏的海底捞超级APP究竟是怎样与阿里云合作的
  10. Java在PDF文档中添加或删除页面
  11. java键盘录的使用方法
  12. Ten Rules of Good Studying
  13. 这几招对博勒飞粘度计检测精度的提升有很大帮助
  14. static(静态方法中)如何调用非静态方法?
  15. 大学python笔记整理_python学习笔记整理(一)
  16. 【Android开发】Android入门安装与使用教程——以Android Studio3.6.1为例
  17. Django开发数据可视化大屏-JS绘制大屏动态背景-(视图模板制作)
  18. CVPR2017论文
  19. JDSU故障测试仪维修OTDR光时域反射仪维修MTS2000
  20. 淘口令解析api接口_淘口令解析API免费接口,淘口令解析API连接器接口付费定制-进制数据...

热门文章

  1. 一些经典的电子书籍下载
  2. 企业微信服务商代开发应用验证CallBackUrl失败
  3. Linux echo $DISPLAY输出为空
  4. 登录网页无法连接服务器,网页游戏无法登录全面分析
  5. python大数据股票分析
  6. 轻度分析游戏之《啪啪三国》
  7. Java后台向苹果APNS推送文字,图片,视频功能
  8. 雷神台式计算机排行,2020台式电脑排名前十推荐
  9. 《大型网站技术架构:核心原理与案例分析》-- 读书笔记 (5) :网购秒杀系统...
  10. 关于matlab表情包,基于matlab人脸表情识别