又来了,上头让小轩我在服务器中写一个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

  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. 输入完成后就会出现这样的界面(此界面是小轩在测试机器上重新生成的截图,几个重点的东西已经着重标志出来了)



    从上图中我们可以了解到生成的公私钥存放在/user/.ssh/目录下user为当前登陆用户家目录。

下图中authorized_keys不会自动生成。在当前机器B中暂时没有什么用处

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

重要的来了~~:

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

  4. cat authorized_keys 确保写入成功
  5. chmod 600 authorized_keys 修改文件权限

  6. 以上步骤做完之后一定要做一下/etc/init.d/sshd restart 把ssh服务重新启动一下。

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

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

SSH之免密登陆的更多相关文章

  1. SSH实现免密登陆

    SSH实现免密登陆配置 ssh实现免密码登录的配置过程,主要分为以下几个步骤: serverA生成密钥,包括私钥和公钥 serverA将公钥传到serverB上 serverA上配置serverB登陆 ...

  2. ssh判断免密登陆

    ssh判断免密登陆 [root@jenkins ~]# vi /opt/release_code.sh #!/bin/bash . /etc/init.d/functions #echo $WORKS ...

  3. ssh的免密登陆

    想必大家都有使用ssh登陆的过程了,那么,怎么设置ssh免密登陆呢?下面有一些我的总结: 环境:服务器主.从 主服务器:192.168.1.1 从服务器:192.168.1.2 实现主服务器ssh登录 ...

  4. ssh 批量免密登陆

    SSH第一次连接远程主机 公钥交换原理 1.客户端发起链接请求2.服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)3.客户端生成密钥对4.客户端用自己的公钥异或会话ID,计算出一个 ...

  5. gitlab 配置.ssh实现免密登陆

    首次配置gitlab的.ssh时 安装gitbash 通过gitbash 配置.ssh 打开gitbash,输入如下命令生成ssh,邮箱换成自己的 ssh-keygen -t rsa -C " ...

  6. ssh pubkey免密登陆远程主机

    二.公钥登录 每次登录远程主机都需要输入密码是很不方便的,如果想要省去这一步骤,可以利用密钥对进行连接,还可以提高安全性. 1.在本机生成密钥对 使用ssh-keygen命令生成密钥对: ssh-ke ...

  7. linux ssh免密登陆

    大致流程: 两台linux系统A B 如果A要登陆到B 1.生成A的密钥对 2.将A的公钥拷贝到B的authorized_keys中即可 可以使用命令:ssh-copy-id -i ~/.ssh/id ...

  8. [提供可行性脚本] RHEL/CentOS 7 多节点SSH免密登陆

    实验说明: 在自动化部署时,会经常SSH别的机器去操作,然而每次的密码认证却很令人烦躁,尤其是很长的密码,因此SSH免密登陆就显得必不可少: 在机器数目很多的时候,使用更过的往往是Ansible分发并 ...

  9. macos ssh host配置及免密登陆

    windows下面有xshell 这样的可视化ssh管理工具 macos 下面使用终端做下简单配置,也非常方便,具体过程如下 生成秘钥 cd ~/.sshssh-keygen -t rsa 生成了私钥 ...

随机推荐

  1. Python之random

    random 伪随机数生成模块.如果不提供seed,默认使用系统时间. 使用相同seed,可获得相同的随机数序列,常用于测试. >>> from random import * &g ...

  2. Python之元类

    类型对象负责创建对象实例,控制对象行为.那么类型对象又由谁来创建呢? 元类(metaclass)——类型的类型 New-Style Class的默认类型是type >>> class ...

  3. django作业2

    管理后台 1.登陆Form 2.Session (用装饰器实现) 3.装饰器 4.主机,主机组 添加(主机,主机组) 删除 修改 查询

  4. Redis Save 与 BGSAVE 的区别

    一,save保存数据到磁盘的方式: Redis Save 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘. 语法redis Sav ...

  5. js获取url地址栏参数

    前端开发中经常会遇到需要获取url地址栏参数问题 方法如下: function getQueryStringByName(name){ var src = "www.baidu.com?na ...

  6. windows配置caffe + python和matlab接口

    参考: http://blog.csdn.net/baidu_26408419/article/details/53711640 http://www.cnblogs.com/love6tao/p/5 ...

  7. 基于 HTML5 WebGL 的 3D 仓储管理系统

    仓储管理系统(WMS)是一个实时的计算机软件系统,它能够按照运作的业务规则和运算法则,对信息.资源.行为.存货和分销运作进行更完美地管理,使其最大化满足有效产出和精确性的要求.从财务软件.进销存软件C ...

  8. 《Maven实战》 第7章 生命周期与插件

    7.1什么是生命周期 软件开发人员每天都在对项目进行清理.编译.测试及部署,Maven生命周期是对所有构建过程进行抽象和统一,含项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等几 ...

  9. 【面试问题】——秋招面试中遇到的一些问题&思维导图&反思

    前言:秋招也跑了挺多的公司,虽然都是招Web前端,但是不同的公司,因为需求和目的不同,面试的考察点也是各不相同.我没有实习经验,只有自己学东学西比较杂也比较浅的一些知识积累可以用,这个过程我发现了自己 ...

  10. listviewMyAdapter

    import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory; ...