前言

  项目中需要编写脚本在服务器之间上传或者下载文件,但没有相关服务器来测试脚本,于是就着手安装两台server,然后用ssh的相关命令去配置server之间公钥认证登录。

步骤

  1. 在VM Box下面安装两台Linux Server,并且都选用了桥接的网络类型,这样两台server会有自己独立的IP

  2. 当前server上使用ssh命令去连接另外一台server,由于公钥认证登录还没有配置,这时候是需要输入password才可以登录

    命令: ssh [user]@[hostname|ip]

    例子: ssh ftpiosh@192.168.1.53

    a. 由于是首次连接,系统会提示是否继续连接 

    

    b. 输入yes后,系统会提示输入password,同时会在当前用户的家目录下面自动创建.ssh目录,然后在此目录下面创建know_hosts文件来存储目标server的信息

    

    

    c. 输入password以后,就连接到目标server,可以使用命令ls -al来查看内容

    

    d. 使用exit命令来断开连接

    

  3.  配置公钥认证登录,首先要使用ssh-keygen命令去创建当前server的公钥和私钥

    命令: ssh-keygen

    系统会提示输入秘钥存储的目录和秘钥名,如果不想输入,就按Enter,系统会使用默认的目录和秘钥名

    默认目录和秘钥名:/home/ftpiosh/.ssh/id_rsa,/home/ftpiosh/.ssh/id_rsa.pub,一个公钥和一个私钥

    

    

  4. 使用ssh-copy-id命令复制当前server的公钥到目标server的相应目录

    命令:ssh-copy-id [user]@[host name|ip]

    例子:ssh-copy-id ftpiosh@192.168.1.53

    a. 系统提示输入密码,输入密码后,回显示一个key添加成功

    

    

    b. 目标server查看公钥内容

    公钥存储在/home/ftpiosh/.ssh/authorized_keys文件中

    

  5. 验证公钥认证登录 

    命令: ssh [user]@[hostname|ip]

    例子: ssh ftpiosh@192.168.1.53

    系统会直接登录,不需要输入password

    

以上纯属个人观点,如有不对之处,请指正!

      

  

最新文章

  1. 《InsideUE4》-10-GamePlay架构(九)GameInstance
  2. c#DataGridView数据绑定示例——格式化单元格的内容(转)
  3. Java Js实现导出csv
  4. C-随笔
  5. 洛谷P1168 中位数
  6. js 的闭包
  7. display:line-block和blaock的区别
  8. Python 的命令行参数处理 optparse->argparse
  9. java基础之 垃圾回收机制
  10. poj 3641 Pseudoprime numbers
  11. 微软IOC容器Unity简单代码示例1
  12. ACM学习-POJ-1143-Number Game
  13. 水熊虫 - Nature Communication
  14. [笔记]ACM笔记 - 自用模板
  15. Ionic3 创建应用(Android)
  16. AngularJS进阶(五)Angular实现下拉菜单多选
  17. SHELL脚本--变量(基础)
  18. wampserver 的默认首页设置
  19. js原生常用事件event
  20. css3 box-sizing详解。

热门文章

  1. java 静态代理-积木系列
  2. dede channel 增加limit(属性)功能
  3. ORACLE执行详解
  4. Map练习错误
  5. Android 中算法问题
  6. WP8应用上传失败查错
  7. kbengine0.4.20源代码分析(一)
  8. (转) Deep Learning Resources
  9. 10天学会phpWeChat——第五天:实现新闻投稿功能
  10. case when