配了挺多次免密登录,老是忘了,备份一下

转载自知乎,如侵删。https://zhuanlan.zhihu.com/p/32279976

-----------------------------------------------------转载分割线-----------------------------------------------------------------------

Ok,是时候写一个教程让后人不被坑了。

首先,明确一下我们要做什么,让mac连接免密码ssh连上远程的机子,一般是ubuntu系统的(就是你买的阿里云,腾讯云之类的)。

note(给不懂ssh的新手们):ssh就是让你的自己在远程机子上打开一个shell,ssh就是secure shell。linux作为服务器是没有桌面系统的,所以你只要通过一个ssh工具在远程机子上打开一个shell,你就能控制这个远程的机子了。

我们把本地机子叫做为mac,远程机子叫做ubuntu(这个ubuntu也可以是centos,debian之类的)。

1. 首先在你的本地mac上打开一个shell,进入到~/.ssh目录,然后看一下该目录下的文件

cd ~/.ssh
ls // 看一下文件,看看有没有已经生成过的公私钥对

2.这边做分a,b两种情况:

(a). 第一种情况你没有生成过公私钥对(生成过这个目录下会有类似 xxx xxx.pub 的文件),或者你生成过,但是你想创建一个新的公私钥对。

ssh-keygen
// 根据交互,输入你想要的名字(默认id_rsa),然后是密码,可以为空,生成公私钥对 ls // 这时候当前目录下会多了一对公私钥对(.pub结尾的是共钥匙)。

(b). 已经有一组公私钥对的可以不生成。

3.这一步是要把共钥复制到服务器上,可以使 ssh-copy-id 这个脚本工具

ssh-copy-id -i [公钥文件] user@host
// user是你的ssh的用户,host是服务器地址,这时候还要输入密码。
// 例子:ssh-copy-id -i id_rsa.pub root@111.111.111.111

4.好一般别的系统到第三步就可以免密登陆了,但是mac并不这样。还要调用ssh-add。

ssh-add -K [你的私钥文件,就是那个不加.pub结尾的文件]
// 例如ssh-add -K id_rsa

注意上面的shell命令都在~/.ssh目录下,中途请不要切换目录。

公私钥简介

公私钥是一个很聪明的发明,公钥是公开的。就像用户名,私钥则跟密码一样。比特币也是用了公私钥,比特币中公钥是钱包地址,但是你光有钱包地址不能证明你拥有这个钱包。只有你同时拥有对应的私钥,这个钱包才是你的。而要破解这个公私钥很难,需要极大的计算量。

【转】MAC 配置ssh免密登录的更多相关文章

  1. Ubuntu16.04下配置ssh免密登录

    Ubuntu16.04下配置ssh免密登录 环境准备:新建两台虚拟机,而且两台虚拟机上都装有Ubuntu16.04的系统,使两台虚拟机之间保持互通状态.分别为两台虚拟机命名为A,B.假设我们要使A虚拟 ...

  2. 【Linux】配置SSH免密登录

    环境说明 假设我们有三台机器分别为bigdata111,bigdata112,bigdata113,三台机器均为centos 7系统. 配置SSH免密登录 (1)利用Xshell的发送键输入到所有会话 ...

  3. 记一次Xshell配置ssh免密登录时的问题

    问题: 今天在配置SSH免密登录连接自己的阿里云服务器,在将RSA加密生成的公钥放到服务器后,用Xshell连接服务,出现所选的用户密钥未在远程主机上注册这样的提示,一时懵逼,不知所措,后面终于找到了 ...

  4. 配置ssh免密登录遇到的问题——使用VMware多虚拟机搭建Hadoop集群

    搭建环境: 虚拟机 VMware12Pro      操作系统  centos6.8        hadoop 1.2.1 1.导入镜像文件,添加java环境 1.查看当前系统中安装的java,ls ...

  5. Ubuntu如何配置SSH免密登录

    前言 在搭建hadoop集群时,需要主机和副机之间实现SSH免密登录 一.环境准备 1.ubuntu两台 二.安装SSH 1.首先检测一下本机有没有安装SSH服务,如果没有任何打印说明未安装 sudo ...

  6. 配置ssh免密登录后,仍需要密码才能登陆其中某台机器

    提示:如果是三台机器A.B.C配置了ssh免密登录,从A和B上登录C需要密码,则需要修改C的配置 修改配置文件如下: sudo vi /etc/ssh/sshd_config #禁用root账户登录, ...

  7. Centos7配置ssh免密登录群发

    ssh免密登录是客户端发送自己的公钥到服务器.用公钥进行解密,自己生成的私钥进行加密. 首先在客户端查看sshd服务是否启动 [zhiwei@zhiwei1 ~]$ ps -Af|grep sshd; ...

  8. linux(十)配置ssh免密登录实现

    知道ssh的朋友应该知道它是用来干什么的,如果你不知道什么是ssh远程登录的话,可以去看一下我的上一篇博客,关于linux的网络基础的知识.备注:ssh是用于远端登入.执行ssh指令开启终端机阶段作业 ...

  9. CentOS配置SSH免密登录

    假如我们有两台CentOS机器,192.168.199.101,192.168.199.102,要想在101上远程连接102可以通过ssh命令来实现 ssh 192.168.199.102 如果没有配 ...

随机推荐

  1. qjson中把记录或类型或泛型数组转换为json字符串

    unit Unit4; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ...

  2. JAVA8初探-让方法参数具备行为能力并引入Lambda表达式

    关于JAVA8学习的意义先来贴一下某网站上的对它的简单介绍:“Java 8可谓Java语言历史上变化最大的一个版本,其承诺要调整Java编程向着函数式风格迈进,这有助于编写出更为简洁.表达力更强,并且 ...

  3. p4434 [COCI2017-2018#2] ​​Usmjeri

    思路 并查集的好题 考虑到求满足条件限制的方案数,显然观察样例可知结果就是2^x,x是互不影响的边的集合数量 然后考虑如何求互不影响的边的集合数量 可以使用并查集,用i和i+n表示这个点的父亲连向它的 ...

  4. ASTC on Android

    kGL_KHR_texture_compression_astc_ldr kWEBGL_compressed_texture_astc_ldr KHR_texture_compression_astc ...

  5. Neo4j入门博客分享

    Neo4j学习参考博客:https://www.cnblogs.com/ljhdo/p/5516793.html Neo4j Cypher查询语言详解 http://www.ttlsa.com/nos ...

  6. ORM高阶补充:only, defer,select_related

    Queryset官方文档:https://docs.djangoproject.com/en/1.11/ref/models/querysets/ 1.需求1:只取某n列 1.方法1:values 2 ...

  7. Monkey实战测试步骤

    1,adb devices 确保设备在线 2,adb shell pm list packages 查看包名 3,adb shell monkey -p com.xzck.wangcai   --ig ...

  8. Codeforces Round #346 (Div. 2) B题

    B. Qualifying Contest Very soon Berland will hold a School Team Programming Olympiad. From each of t ...

  9. hdu 5187 zhx's contest (快速幂+快速乘)

    zhx's contest Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) To ...

  10. Codevs 4909 寂寞的堆

    4909 寂寞的堆 时间限制: 1 s 空间限制: 8000 KB 题目等级 : 大师 Master 题目描述 Description 堆,是一种神奇的数据结构 不寂寞的堆,是一棵满二叉树,其儿子节点 ...