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

SSH之免密登陆

又来了,上头让小轩我在服务器中写一个Shell脚本,主要用来在机器B中定时备份机器A中的一些文件。那么,小轩是怎么想的呢?在小轩的知识库里,现在有scp和ssh两个玩具。别的还真没有其他什么

又来了,上头让小轩我在服务器中写一个Shell脚本,主要用来在机器B中定时备份机器A中的一些文件。那么,小轩是怎么想的呢?

  1. 在小轩的知识库里,现在有scp和ssh两个玩具。别的还真没有其他什么东西了。那就想直接用scp去远程复制好了,但是scp复制的时候还要输入密码。那就搞搞让使用scp的时候不用输入密码好了。

以下进入正文

忽略ssh安装scp安装过程。默认认为当前机器与远程机器含有完整的ssh,scp功能

  • 首先在机器B中使用ssh-keygen -t rsa 命令 (想来玩git的童鞋应该知道吧~)
    [hart02@hart02 .ssh]$ ssh-keygen -t rsa
    ssh-keygen
  1. Enter file in which to save the key (/home/hart02/.ssh/id_rsa):直接按enter键

  2. 之后提示Enter passphrase (empty for no passphrase):意思是说请输入密码,如果不输入则为没有密码。当然,小轩使用的enter键~之后就是重复输入密码了。两次一定要保持一致哦~,如果第一次不输入,第二次也还要输入哦~

注:小轩的机器已经生成过了,所以此时提示说/home/hart02/.ssh/id_rsa already exists.

  1. 输入完成后就会出现这样的界面(此界面是小轩在测试机器上重新生成的截图,几个重点的东西已经着重标志出来了)
    ssh-keygen -t rsa
    从上图中我们可以了解到生成的公私钥存放在/user/.ssh/目录下user为当前登陆用户家目录。

下图中authorized_keys不会自动生成。在当前机器B中暂时没有什么用处
查看.ssh目录下文件

现在我们在机器A中进行操作,其操作如上述步骤一致。当生成完毕时,我们touch 一个文件,文件名为authorized_keys
touch authorized_keys

重要的来了~~:

  1. 在机器B中使用cat id_rsa.pub查看一下公钥,然后复制这一串东西~
  2. 在机器A中,vim authorized_keys 把复制的东西粘贴到A机器中的这个文件里面。
  3. ESC -> :wq! -> enter 保存退出
    copy id_rsa.pub

  4. cat authorized_keys 确保写入成功
  5. chmod 600 authorized_keys 修改文件权限
    chmod 600
  6. 以上步骤做完之后一定要做一下/etc/init.d/sshd restart 把ssh服务重新启动一下。
    restart sshd

至此。ssh免密登陆配置完成。说的好听,不如看看效果:
test no password login ssh

OK,下章来做scp远程复制脚本的说明~


推荐阅读
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 本文介绍了在Linux环境下如何有效返回命令行状态、上一级目录及快速查找头文件和函数定义的方法。包括处理长时间运行命令、编辑器退出技巧、目录导航以及文件搜索策略。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • Vulnhub DC3 实战记录与分析
    本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ... [详细]
  • 本文详细介绍了如何在 CentOS 7 及其衍生发行版(如 Red Hat, Oracle, Scientific Linux 7)上安装和完全卸载 GitLab。包括安装必要的依赖关系、配置防火墙、安装 GitLab 软件包以及常见问题的解决方法。 ... [详细]
  • 在开发板的启动选项中看到如下两行:7:LoadBootLoadercodethenwritetoFlashviaSerial.9:LoadBootLoadercodethenwri ... [详细]
  • 本文详细介绍了如何在Linux系统中使用nslookup命令查询DNS服务器地址,这对于Linux服务器的运维管理是非常重要的基础知识。 ... [详细]
  • 如何在Windows上使用Gitee创建远程仓库
    本文详细记录了在Windows系统上使用Gitee创建远程仓库的步骤,帮助解决无法注册GitHub的问题。 ... [详细]
author-avatar
勿忘
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有