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

转载自知乎,如侵删。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. PHPStorm 3.3 破解方法 以及汉化

    第一步修改host文件(host文件地址为): C:\Windows\System32\drivers\etc 将以下内容添加到host文件里面     0.0.0.0 account.jetbrai ...

  2. spark为什么比hadoop的mr要快?

    1.前言 Spark是基于内存的计算,而Hadoop是基于磁盘的计算:Spark是一种内存计算技术. 但是事实上,不光Spark是内存计算,Hadoop其实也是内存计算. Spark和Hadoop的根 ...

  3. unity shader 剔除指定的颜色

    Shader "MyShader/PaintingBGTransparency" { Properties{ _MainTex("Base (RGB)", 2D ...

  4. HDU5514——容斥原理&&gcd

    题目 链接 有n只青蛙,有m块石头,编号为0-m-1,第i只青蛙每次可以跳$a_i$, 刚开始都在0,问,青蛙总共可以跳到的石头之和为多少.其中$t≤20$,$1≤n≤10^4$,$1≤m≤10^9$ ...

  5. Java中的集合HashSet、LinkedHashSet、TreeSet和EnumSet(二)

    Set接口 前面已经简绍过Set集合,它类似于一个罐子,一旦把对象'丢进'Set集合,集合里多个对象之间没有明显的顺序.Set集合于Collection基本上完全一样,它没有提供任何额外的方法. Se ...

  6. BZOJ 4012 [HNOI2015]开店 (区间修改 永久化标记 主席树)

    讲得好啊 主席树区间修改了,每一次遇到整区间就打永久化标记(不下传,访问的时候沿路径上的标记算答案)然后returnreturnreturn,那么每修改一次只会访问到lognlognlogn个节点,再 ...

  7. HDU 6060 - RXD and dividing | 2017 Multi-University Training Contest 3

    /* HDU 6060 - RXD and dividing [ 分析,图论 ] | 2017 Multi-University Training Contest 3 题意: 给一个 n 个节点的树, ...

  8. 017_linuxC++之_多态的引入

    多态:一种接口,多种方法(同一种调用方法,根据不同的对象,调用不同类中的函数)静态联编:非虚函数,在编译时确定好动态联编:   1. 对象里有指针,指向虚函数表 2. 通过指针,找到表,调用虚函数 3 ...

  9. BZOJ 1922: [Sdoi2010]大陆争霸 Dijkstra

    Code: #include <queue> #include <vector> #include <cstdio> #include <cstring> ...

  10. *p++=i怎么理解?

    #include<stdio.h> void fibonacci(int *p,int n) { *p++=1; *p++=1; while(n>2) { *p++=*(p-1)+* ...