热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SSH学习之三SSH与SCP无密码登录

通常情况下,每次使用ssh登录或使用scp复制远程系统的文件时,都需要提供密码,然后才能做进一步的处理。为了省略输入密码这一步骤,有时可以采用Shell脚本的方法解决,但这需要把手

         通常情况下,每次使用ssh登录或使用scp复制远程系统的文件时,都需要提供密码,然后才能做进一步的处理。为了省略输入密码这一步骤,有时可以采用Shell脚本的方法解决,但这需要把手工输入的密码以明码形式放在脚本文件中。

         利用密钥配置文件,OpenSSH可以是ssh远程登录与scp文件复制的操作过程中省略密码验证的中间环节。为此,ssh客户端首先应建立OpenSSH连接,然后自动地想服务器发送其公钥。之后,服务器即可根据相应用户主目录中预定义的密钥列表,对收到的密钥进行比较。如果存在匹配的密钥,服务器将会允许ssh或sco自动登录。

         密钥文件需要单独生成,生成后的密钥文件存储在服务器用户主目录的~/.ssh子目录中。其中,id_rsa和id_rsa.pub文件分别是私玥和公钥,而authorized_keys文件则用于存储所有授权的远程客户系统的公钥,使得远程客户系统能够以此用户的身份登录到本地系统而无需提供密码。

         为了实现ssh和scp的无密码登录,需要事先生成并安装远程登录与数据传输的密钥,其唯一的限制是需要把密钥绑定到两个系统的IP地址上。然后,服务器即可使用预安装的密钥,对每一次的远程登录和文件传输进行验证。但是,这以功能不适合于利用DCHP协议动态分配IP地址,致使IP地址经常发送变化的情况。

         由于只需知道用户名即可实现远程注册和文件传输,而无需提供密码,这一功能是有安全风险的。因此,在具体实现时,在服务器与客户端之间最好采用普通用户账号,以免造成较大的破坏。

         下面以webgod用户为例,详细说明在实现ssh和scp的无密码登录之前,OpenSSH的客户端与服务器双方事先都需要做哪些准备工作。

1 客户端配置

         在客户端与服务器系统中分别创建一个同名为webgod用户,然后以webgod用户的身份登录到客户端系统,使用ssh-keygen命令生成一对密钥。当系统提示输入一个与密钥相关联的密码时,直接按下Enter键。

bubuko.com,布布扣

         生成的两个密钥文件均存储在webgod用户主目录的.ssh子目录中。其中,id_rsa文件中存储的是私玥,id_rsa.pub文件中存储的是公钥(用于提交远程服务器,解密客户端传输的加密数据)。

bubuko.com,布布扣

         采用如下命令,把生成的公钥文件id_rsa.pub复制到远程系统的webgod用户主目录中。

         $ scp ~/.ssh/id_rsa.pub webgod@10.203.131.191:pub_key

2 服务器配置

         在OpenSSH服务器中,以webgod用户登录,然后使用cat命令和”>>”重定向符号,把pub_key文件中的数据追加到authorized_keys文件的末尾。

         $ cat ~/pub_key >>~/.ssh/authorized_keys

         authorized_keys文件包含所有OpenSSH客户端系统的公钥列表,如果表中列举的客户系统中的webgod用户仍以同一身份连接到服务器,则无需提供密码。

3 示例

         在完成上述全部设置之后,当OpenSSH客户端的webgod用户以webgod身份,使用ssh、scp或sftp连接到远程主机,就不会再提示用户输入密码了。

         但这一方法对客户端的其他用户无效,即使他们也以webgod用户的身份登陆到远程服务器,仍需提供密码。

SSH学习之三 SSH与SCP无密码登录,布布扣,bubuko.com


推荐阅读
  • hadoop1.2.1文档中这样写:Nowcheckthatyoucansshtothelocalhostwithoutapassphrase:$sshlocalhostIfyou ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Jenkins的分布式构建,在Jenkins的配置中叫做节点,分布式构建能够让同一套代码或项目在不同的环境(如:Windows和Linux系统)中编译、部署等。将jenkins项目 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • 转自:http:www.phpweblog.netfuyongjiearchive200903116374.html一直对字符的各种编码方式懵懵懂懂,什 ... [详细]
  • eclipse_在eclipse上使用github,向github中提交项目
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了在eclipse上使用github,向github中提交项目相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 远程管理软件:Royal TSX 5 for Mac激活版
    远程管理软件:RoyalTSX5forMac激活版-RoyalTSX5是mac系统上一款功能非常强大的远程连接管理工具。兼容多种连接类型,比如:RDP、VNC、基于SSH连接的终端 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
author-avatar
零乱772_553
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有