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

转载自知乎,如侵删。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. 编译teamtalk遇到的问题

    一.编译log4cxx遇到的问题 1.error: narrowing conversion 这是在gcc-6下面一个官方的错误 解决方法 https://issues.apache.org/jira ...

  2. python_推导式

    列表推导式 目的:方便的生成一个列表 格式: v1 = [i for i in 可迭代对象 ] v2 = [i for i in 可迭代对象 if条件]#条件为True菜进行append v1 = [ ...

  3. run zabbix with docker

    #!/bin/bashdocker run --name some-zabbix-server-mysql -p 10051:10051 --net=host -e DB_SERVER_HOST=&q ...

  4. Git 命令行解决冲突

    git add filename   将本地工作区文件加入缓存区 git commit filename -m '提交文件注释' git status  查看当前工作区状态 git fetch ori ...

  5. 一文学会redis从零到入门

    本文参照视屏学习整理:https://www.bilibili.com/video/av16841549/?p=9 相关软件.资料: 基本条件:有虚拟机或相关linux系统,熟悉基本linux操作 本 ...

  6. [Luogu] 引水入城

    https://www.luogu.org/problemnew/show/P1514 bfs + 线段覆盖 #include<bits/stdc++.h> using namespace ...

  7. luogu P4843 清理雪道

    嘟嘟嘟 这其实就是一个最小流的板子题.把每一条边的流量至少为1,然后建立附加源汇跑一遍最大流,连上\(t, s\),再跑一遍最大流就是答案. 刚开始我想错了:统计每一个点的出度和入度,去两者较大值\( ...

  8. codeforces#999 E. Reachability from the Capital(图论加边)

    题目链接: https://codeforces.com/contest/999/problem/E 题意: 在有向图中加边,让$S$点可以到达所有点 数据范围: $ 1 \leq n \leq 50 ...

  9. 最远 Manhattan 距离

    最远 Manhattan 距离 处理问题 K维空间下的n个点,求两点最远曼哈顿距离 思路 以二维为例介绍算法思想,即可类推到k维.对于P,Q两点,曼哈顿距离|Px-Qx|+|Py-Qy|可看作(±Px ...

  10. 1.5 JAVA的IO操作

    1.5 JAVA的IO操作 参考链接:https://www.runoob.com/java/java-files-io.html 一.JAVA的IO操作 由于JAVA引用外界的数据,或是将自身的数据 ...