1.ssh-keygen

ssh-keygen是unix-like系统的一个用来生成、管理ssh公钥和私钥的工具。

2.用法

常用的重要的选项有:

-b num   指定生成多少比特长度的key,单位为b,默认为1024b

-t    指定生成key的类型,也就是使用哪一种加密算法,可选的有rsa1 | rsa | dsa

3.

[root@iDirector ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <-- 直接输入回车
Enter passphrase (empty for no passphrase): <-- 直接输入回车
Enter same passphrase again: <-- 直接输入回车
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
23:12:af:af:37:ea:e5:2d:49:63:97:27:d4:bf:2d:75 root@iDirector
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| . . |
| o . . |
| . o.S. . |
| o+.+.. . . E|
| .o.+ o + . |
| +=. o . |
| .++oo. . |
+-----------------+
[root@iDirector ~]# ll /root/.ssh/
id_rsa id_rsa.pub known_hosts
在程序提示输入passphrase时直接输入回车,表示无证书密码。 上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在用户家目录的.ssh子目录中。 

转载自:http://www.361way.com/ssh-public-key/3662.html

在两台linux主机上由于环境的需要,经常要配置两台主机之间免密码登录,这就要用到key认证,也就是所谓的公私钥认证。
便于理解,我这里指定两台主机为 A 和 B 。如果A主机想免密码登录到B主机上,则A主机上存放私钥,B 主机上存放公钥。
通过ssh-keygen 命令生成的两个文件为:公钥文件 ~/.ssh/id_rsa.pub; 私钥文件 ~/.ssh/id_rsa 。
而B主机上存放公钥时,需要将id_rsa.pub的内容存放到~/.ssh/authorized_keys 文件内,并且保证权限为600
    #将key导入到远程的B主机上,并修改权限
   #在A主机上操作
$ cat /root/.ssh/id_rsa.pub | ssh root@远程服务器ip 'cat - >> ~/.ssh/authorized_keys'
#B主机上操作
$ chmod 600 ~/.ssh/authorized_keys

不过还有更简单的方法,不需要在B主机上再修改权限 ,而直接将公钥内容导入到远程主机上,使用ssh-copy-id命令,如下:

$ ssh-copy-id  -i /root/.ssh/id_rsa root@xxx,xxx,xxx,xxx

配置完key后,需要在sshd_config文件中开启key认证

    $ vim /etc/ssh/sshd_config
PubkeyAuthentication yes //将该项改为yes

修改完成后,通过/etc/init.d/sshd restart 重启ssh服务重新加载配置。如果想要禁用密码认证,更改如下项:

    $ vim /etc/ssh/sshd_config
UsePAM yes

UserPAM no

转载自:http://blog.csdn.net/aabbcc456aa/article/details/18981279

如何让连接新主机时,不进行公钥确认?

在首次连接服务器时,会弹出公钥确认的提示。这会导致某些自动化任务,由于初次连接服务器而导致自动化任务中断。或者由于  ~/.ssh/known_hosts 文件内容清空,导致自动化任务中断。 SSH 客户端的 StrictHostKeyChecking 配置指令,可以实现当第一次连接服务器时,自动接受新的公钥。只需要修改 /etc/ssh/ssh_config 文件,包含下列语句:

Host *
StrictHostKeyChecking no

或者在 ssh 命令行中用 -o 参数

$ ssh  -o StrictHostKeyChecking=no  192.168.0.110

linux配置ssh公钥认证,打通root用户的免密码输入的scp通道的更多相关文章

  1. Linux配置SSH公钥认证与Jenkins远程登录进行自动发布

    公钥认证,是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密:另一个称为密钥(private key),只有拥有者才能看到,用于解密. 在使用jenkins ...

  2. ssh公钥认证原理及设置root外的其他用户登录ssh

    1)创建其他用户 useradd [-d 登录目录] [-G ssh][用户名]  一定要将用户添加到ssh组不然无法没有权限登录ssh 2)设置ssh不允许root登录 vi /etc/ssh/ss ...

  3. linux下开启SSH,并且允许root用户远程登录,允许无密码登录

    参考:http://blog.csdn.net/jia0511/article/details/8237698 1. 允许root用户远程登录 修改ssh服务配置文件 sudo vi /etc/ssh ...

  4. SSH公钥认证+优化

    一 ssh公钥认证流程: sshclinet机器:产生公私钥(公钥相当于一把锁) sshclient:将公钥发给sshserver(抛出锁子) sshclinet去连sshserver不需要密钥   ...

  5. [svc][op]SSH公钥认证+优化

    一 ssh公钥认证流程: sshclinet机器:产生公私钥(公钥相当于一把锁) sshclient:将公钥发给sshserver(抛出锁子) sshclinet去连sshserver不需要密钥 二 ...

  6. 转: SSH 公钥认证

    转: http://blog.knownsec.com/2012/05/ssh-%E5%85%AC%E9%92%A5%E8%AE%A4%E8%AF%81/ SSH 公钥认证 2012-05-15 简介 ...

  7. SSH公钥认证(码云)

    开发者向码云版本库写入最常用到的协议是 SSH 协议,因为 SSH 协议使用公钥认证,可以实现无口令访问,而若使用 HTTPS 协议每次身份认证时都需要提供口令.使用 SSH 公钥认证,就涉及到公钥的 ...

  8. 配置SSH公钥以及创建远程仓库

    一.配置SSH公钥 1.生成SSH公钥 在我们自己电脑的桌面上右键菜单,打开git命令行,输入以下命令: ssh-keygen -t rsa 一直敲回车之后,显示以下信息即表示成功生成SSH公钥,并且 ...

  9. Ubuntu-18.04 下修改root用户密码,安装SSH服务,允许root用户远程登录,安装vsftp服务器

    修改root用户密码 打开终端,输入 sudo passwd root 指令: 安装SSH服务 ssh默认端口号是22,可以在/etc/ssh/sshd_config文件中修改 查看服务器否开启:ne ...

随机推荐

  1. flume复习(一)

    关于flume官方文档介绍可以去:http://flume.apache.org/看看.接下来就介绍一下关于我个人对flume的理解 一.flume介绍: 1.flume是一个分布式.可靠.和高可用的 ...

  2. 判断浏览器类型JS

    // 判断浏览器类型 getExplorer() { var explorer = window.navigator.userAgent, compare = function (s) { retur ...

  3. 利用sql报错帮助进行sql注入

    我们可以利用sql报错帮助进行sql注入,这里以sql server 为例: sql查询时,若用group by子句时,该子句中的字段必须跟select 条件中的字段(非聚合函数)完全匹配,如果是se ...

  4. Centos7安装Python3的方法[转]

    Centos7安装Python3的方法   由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_ ...

  5. mybatis返回map结果集

    今天突发奇想,想用mybatis返回一个map结果集,结果我就整了一下午,不过终于解决了 1.如果你确定返回的数据只有一条,你可以这样整 xml中: <select id="searc ...

  6. C# WinFrom自适应

    1.在窗体的Project中建一个自适应的类. 2.类的代码如下 public class AutoSizeForm { //(1).声明结构,只记录窗体和其控件的初始位置和大小. public st ...

  7. spring+mybatis事务配置(转载)

    原文地址:http://blog.csdn.net/wgh1015398431/article/details/52861048 申明式事务配置步骤 .xml文件头部需要添加spring的相关支持: ...

  8. Linux使echo命令输出结果带颜色

    echo -e "\033[30m 黑色字 \033[0m"echo -e "\033[31m 红色字 \033[0m"echo -e "\033[3 ...

  9. FCC 成都社区·前端周刊 第 3 期

    01. Chrome65 的新功能 CSS Paint API 允许使用编程方式生成图像:Server Timing API允许服务器将时间信息通过HTTP headers传递给浏览器: CSS di ...

  10. Python之网路编程之粘包现象

    一.什么是粘包 须知:只有TCP有粘包现象,UDP永远不会粘包 粘包不一定会发生 如果发生了:1.可能是在客户端已经粘了 2.客户端没有粘,可能是在服务端粘了 首先需要掌握一个socket收发消息的原 ...