ssh(secure shell)广泛用于远程登录Linux服务器。当我们使用ssh登录到远程系统时,它会提示输入密码,然后只允许我们登录到服务器。有时我们需要配置应用程序或脚本(主要是shell脚本),以便在对远程系统执行ssh之后自动化要执行的任务。但是,如果我们没有配置基于密钥的ssh,脚本将在每次运行时提示输入密码,这时我们需要手动输入密码。为了解决这个问题,我们可以选择使用公钥/私钥概念。其中远程服务器允许其他系统基于密钥进行ssh。

步骤1:生成ssh密钥对

首先,需要生成一个密钥对(rsa或dsa),可以使用“-t”命令行开关指定选项rsa或dsa密钥。如果不传递-t参数,它将默认创建RSA密钥。

1

$ ssh-keygen -t rsa

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

Generating public/private rsa key pair.

Enter file in which to save the key (/home/rahul/.ssh/id_rsa):

Created directory '/home/rahul/.ssh'.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/rahul/.ssh/id_rsa.

Your public key has been saved in /home/rahul/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:GZQ3tJffEUimdMZHIG3LcpvdkOaogwXBtWeaM2ejzYY rahul@tecadmin

The key's randomart image is:

+---[RSA 2048]----+

|       ..+oo+*+o |

|       .+ +o** ..|

|        .oooB oo |

|        .o B =+..|

|        S.= *+=.o|

|          .X.+...|

|         oE.+    |

|        . o.     |

|           .     |

+----[SHA256]-----+

上面的命令将在〜/ .ssh目录中创建两个文件,如下所示。

1、〜/ .ssh / id_rsa [私钥]

2、〜/ .ssh / id_rsa.pub [公钥]

步骤2:将公钥复制到远程系统

让我们将系统的公钥复制到远程系统〜/ .ssh / authorized_key的密钥文件中。我们可以手动或使用ssh-copy-id命令行工具执行此操作。

1

$ ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.10.20

输出:

1

2

3

4

5

21

root@192.168.10.20's password:

Now try logging into the machine, with "ssh '192.168.10.20'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

它将提示输入远程系统的密码。输入远程机器密码并按Enter。

步骤3:验证没有密码的SSH

现在我们已经完成了所有工作,只需尝试对远程系统进行ssh。你将在不输入密码的情况下登录远程系统。

1

$ ssh root@192.168.10.20

上面的命令不会提示输入登录密码。在任何情况下,如果ssh命令提示输入密码,则意味着你的设置没有正确配置,请重试所有步骤。

如何在Linux上设置SSH密码以进行无密码登录(转)的更多相关文章

  1. 如何在Linux上检查SSH的版本(转)

    SSH协议规范存在一些小版本的差异,但是有两个主要的大版本:SSH1 (版本号 1.XX) 和 SSH2 (版本号 2.00). 事实上,SSH1和SSH2是两个完全不同互不兼容的协议.SSH2明显地 ...

  2. 在CentOS/RHEL上设置SSH免密码登录

    本文会告诉你怎样在 CentOS/RHEL 上设置 SSH 免密码登录.自动登录配置好以后,你可以通过它使用 SSH (Secure Shell)和安全复制 (SCP)来移动文件. SSH 是开源的, ...

  3. 【Linux】如何在Linux上安装使用SSH

    SSH是什么? Secure Shell 安全外壳协议 建立在应用层基础上的安全协议 可靠,专为远程登录会话和其他网络服务提供安全性的协议 有效防止远程管理过程中的信息泄露问题 SSH客户端适用于多种 ...

  4. 如何在 Linux 上复制文件/文件夹到远程系统?

    从一个服务器复制文件到另一个服务器,或者从本地到远程复制是 Linux 管理员的日常任务之一. 我觉得不会有人不同意,因为无论在哪里这都是你的日常操作之一.有很多办法都能处理这个任务,我们试着加以概括 ...

  5. 如何在 Linux 上设置密码策略

    https://linux.cn/article-2518-1.html 用户帐号管理是系统管理员最重要的工作之一.而密码安全是系统安全中最受关注的一块.在本教程中,我将为大家介绍如何在 Linux ...

  6. 如何在Linux上使用VIM进行.Net Core开发

    对于在Linux上开发.Net Core的程序员来说, 似乎都缺少一个好的IDE. Windows上有Visual Studio, Mac上有Visual Studio for Mac, 难道Linu ...

  7. 如何在 Linux 上安装应用程序

    如何在 Linux 上安装应用程序 编译自:https://opensource.com/article/18/1/how-install-apps-linux作者: Seth Kenlon原创:LC ...

  8. 如何在Linux上通过grub添加内核参数

    转自Linux中国 我们可以在linux内核启动时为其提供各种各样的参数.这些参数可以自定义内核默认的行为,或者通知内核关于硬件的配置信息.内核参数应在内核启动时通过引导装载程序,如GRUB或LILO ...

  9. springboot打成的jar包如何在Linux上持久运行

    一.首先说说在没有springboot的时候,项目是如何部署的? 1.动态web项目 动态web项目部署很方便,基本上上传文件到服务器的tomcat里面的webapps文件夹下即可完成部署.当然了,这 ...

随机推荐

  1. 安装vue 教程

    安装教程:https://www.cnblogs.com/zhaomeizi/p/8483597.html

  2. 使用layer的弹窗时,出现layer引入成功,触发成功,控制台无报错,但是页面无变化或者仅出现遮罩层的问题的解决思路

    ------------------------------------------20180410补充------------------------------------------------ ...

  3. Rhino学习教程——1.1

    在Rhino的官网下载好Rhino5.0版本后(Rhino官网会提供下载方式,官网是http://www.xuexiniu.com),双击桌面快捷键,就会出现Rhino的界面(我已经自定义过界面了). ...

  4. Nodejs搭建基于express的应用,使用脚手架工具--express-generator

    1.安装nodejs 1> 去nodejs官网下载最新nodejs安装包,地址:http://nodejs.cn/download/,选择自己适合自己电脑系统的安装包,下载下来,然后一直next ...

  5. 和为S的正数序列

    问题:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他就得 ...

  6. Saiku根据入参日期查询出对应的数据(二十)

    Saiku根据入参日期查询出对应的数据 之前好像有写过一篇博客关于saiku date range的,现在进一步更新啦!!! 这里的日期筛选会更完善一些,需要提供两个参数 开始日期与结束日期(star ...

  7. BUG调试: Jump to the invalid address stated on the next line at 0x0: ???

    gdb或者vlagrind报告: ==14569== Jump to the invalid address stated on the next line ==14569== at 0x0: ??? ...

  8. 前端面试题总结(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)

    写在前面 参考答案及资源在看云平台发布,如果大家想领取资源以及查看答案,可直接前去购买.一次购买永久可看,文档长期更新!有什么意见与建议欢迎您及时联系作者或留言回复! 文档描述 本文是关注微信小程序的 ...

  9. LR单用户,重复操作日志

    案例:假如你想在一个脚本中,实现登录执行1次,查询执行2次,插入执行3次,怎么办?录3个脚本?每个事务分别在脚本中复制N次? 当然不用,LR早就想到了你的需求,下面让我们隆重推出Block. 位置: ...

  10. JavaScript学习摘要

    JavaScript的历史 1. css3在css2的基础上添加样式 可以做动画 也可以配合js操作2. h5在html4.01的基础上添加高级标签3. jQuery是JavaScript的封装4. ...