一、实验的目的





了解密钥对的创建和使用,掌握免password远程登录和远程操作

二、实验环境

本地主机 rh1: 192.168.233.3/24

远程主机 rh2: 192.168.233.4/24

在putty上。以用户yanji登录rh1。





三、实验过程(写出屏幕上的输出,必要时作出评述或解释)

1、创建密钥对

主机rh1。用户yanji。

$zh

$cd

$mkdir -pm 700 .ssh

$ssh-keygen -f .ssh/id_dsa -t dsa





   [yanji@localhost yanji]$ zh

   [yanji@localhost yanji]$ cd

   [yanji@localhost yanji]$ mkdir -pm 700 .ssh

   [yanji@localhost yanji]$ ssh-keygen -f .ssh/id_dsa -t dsa

   Generating public/private dsa key pair.

   Enter passphrase (empty for no passphrase):

   Enter same passphrase again:

   Your identification has been saved in .ssh/id_dsa.

   Your public key has been saved in .ssh/id_dsa.pub.

   The key fingerprint is:

   19:0a:c1:03:f5:5a:d6:1f:fe:ba:2b:bb:8a:98:a9:2c yanji@localhost.localdomain









口令串passphrase为空。查看产生的密钥对:

私钥:

$cd

$cat .ssh/id_dsa 





   [yanji@localhost yanji]$ cd

   [yanji@localhost yanji]$ cat .ssh/id_dsa

-----BEGIN DSA PRIVATE KEY-----

MIIBuwIBAAKBgQCg2+/fn+RwjHYUDYA0hczgX/dRf0ljszAUeopo4QpF4K+WhmRM

fNsfdigzCA9Y7/aMeZ5olT69KfaKmEGJs2apvpcdtPdazHQgU3CyGneQly5USP0K

xwtrsF6SyllrDzS42JJrEgnTAvn3ix1KSy8mbZjfaCzFD3lDuRrk9kxWTQIVALcY

qQDmMAmq4OgxURdDvIuO0GPzAoGAA0ANpEGkECDi25QENHUSXwLyKEdcCwppE7VT

XgLJ+qZNnLND1xSPuJi4oD1H0XpuG+5tyoTfrizoEOBZfKfSSHwVPnSQKzB11o4r

Nn2H1pj6hX1nvCeNYHVZ/C5Y8XhfLK+CzWZy+avG17PrNHWSPoItMhP0/Oq7HW2T

LyFGWBsCgYBLGHGc7AOIUeuiBNMiQxLX8itbhxGtK2dNWJYb6CL8D2t3j7loEDGY

6y5EXhNcajIEDB7IBf0d7qYiqx8sBcf1+cgNOvJhySSe33XQNeDteJuQoNPOMcYu

uivB5IezWcO08+lfov4RqMdJQpJ+dcRE1i1s5sbxepQGU0jtroDKIAIVAIWu/kwt

gTQnfm3OPTAErqESbbb7

-----END DSA PRIVATE KEY-----









公钥:

$cat .ssh/id_dsa.pub





   [yanji@localhost yanji]$ cat .ssh/id_dsa.pub

ssh-dss AAAAB3NzaC1kc3MAAACBAKDb79+f5HCMdhQNgDSFzOBf91F/SWOzMBR6imjhCkXgr5aGZEx82x92KDMID1jv9ox5nmiVPr0p9oqYQYmzZqm+lx2091rMdCBTcLIad5CXLlRI/QrHC2uwXpLKWWsPNLjYkmsSCdMC+feLHUpLLyZtmN9oLMUPeUO5GuT2TFZNAAAAFQC3GKkA5jAJquDoMVEXQ7yLjtBj8wAAAIADQA2kQaQQIOLblAQ0dRJfAvIoR1wLCmkTtVNeAsn6pk2cs0PXFI+4mLigPUfRem4b7m3KhN+uLOgQ4Fl8p9JIfBU+dJArMHXWjis2fYfWmPqFfWe8J41gdVn8LljxeF8sr4LNZnL5q8bXs+s0dZI+gi0yE/T86rsdbZMvIUZYGwAAAIBLGHGc7AOIUeuiBNMiQxLX8itbhxGtK2dNWJYb6CL8D2t3j7loEDGY6y5EXhNcajIEDB7IBf0d7qYiqx8sBcf1+cgNOvJhySSe33XQNeDteJuQoNPOMcYuuivB5IezWcO08+lfov4RqMdJQpJ+dcRE1i1s5sbxepQGU0jtroDKIA==
yanji@localhost.localdomain

[yanji@localhost yanji]$









2、上传公钥到rh2

主机rh1,用户yanji。

$cd

$scp .ssh/id_dsa.pub root@192.168.233.4:.





   [yanji@localhost yanji]$ scp .ssh/id_dsa.pub root@192.168.233.4:.

   root@192.168.233.4's password:

   id_dsa.pub           100% |*****************************|   617       00:00





3、远程登录rh2

$主机rh1,用户yanji。

$ssh root@192.168.223.4

...

#

   [yanji@localhost yanji]$ ssh root@192.168.233.4

   root@192.168.233.4's password:

   Last login: Fri Jan 30 15:08:33 2015 from 192.168.233.1









如今到了rh2。





4、加入yanji的公钥到授权密钥文件

#mkdir -pm 600 .ssh

#cat id_dsa.pub >> .ssh/authorized_keys

#chmod 600 .ssh/authorized_keys

#exit

$

   [root@localhost root]# mkdir -pm 600 .ssh

   [root@localhost root]# cat id_dsa.pub >> .ssh/authorized_keys                      [root@localhost root]#    chmod 600 .ssh/authorized_keys

   [root@localhost root]# exit

   [yanji@localhost yanji]$









如今回到了rh1。

5、免password远程登录

主机rh1,用户yanji。 

远程登录rh2,创建文件poem1后退出。

$ssh root@192.168.233.4

#zh

#cat > poem1

唧唧复唧唧

木兰当户织

不闻机杼声

惟闻女叹息

#exit

$





    [yanji@localhost yanji]$ ssh root@192.168.233.4

    Last login: Fri Jan 30 15:13:39 2015 from 192.168.233.3

    [root@localhost root]# zh

    [root@localhost root]# cat > poem1

唧唧复唧唧

木兰当户织

不闻机杼声

惟闻女叹息

    [root@localhost root]# exit

logout

Connection to 192.168.233.4 closed.

[yanji@localhost yanji]$









如今又回到了rh1

6、远程复制

主机rh1,用户yanji

$ls

$scp root@192.168.233.4:poem1 .

$ls

$cat poem1









   [yanji@localhost yanji]$ ls

01

   [yanji@localhost yanji]$ scp root@192.168.233.4:poem1 .

poem1                100% |********************************|    64       00:00

   [yanji@localhost yanji]$ ls

01  poem1

   [yanji@localhost yanji]$ cat poem1

唧唧复唧唧

木兰当户织

不闻机杼声

惟闻女叹息









6、远程操作(远程运行命令)

主机rh1,用户yanji。

$ssh root@192.168.233.4 ls -l

$ssh root@192.168.233.4 "echo '(木兰诗片段)' >> poem1"

$ssh root@192.168.233.4 "cat poem1"





     [yanji@localhost yanji]$ ssh root@192.168.233.4 ls -l

total 160

-rw-r--r--    1 root     root         1837 Nov  9 03:51 anaconda-ks.cfg

-rw-r--r--    1 root     root            0 Nov 21 13:41 backup

drwxr-xr-x    2 root     root         4096 Nov 16 01:44 bin

drwxr-xr-x    2 root     root         4096 Nov 21 07:48 c

-rw-r--r--    1 root     root           49 Nov 21 13:52 cron.txt

-rw-r--r--    1 root     root          182 Nov 21 05:53 dd

-rw-r--r--    1 root     root           12 Nov 21 08:01 ee

-rw-r--r--    1 root     root           50 Nov 16 01:41 file

-rw-r--r--    1 root     root            0 Nov 21 01:53 file1

-rw-r--r--    1 root     root            0 Nov 21 01:53 file4

-rw-r--r--    1 root     root            0 Nov 21 01:53 file44

drwxr-xr-x    2 root     root         4096 Nov 21 02:51 file55

drwxr-xr-x    2 root     root         4096 Nov 21 01:57 file554

-rwxr-xr-x    1 root     root        11816 Nov 16 02:09 hexagon

-rw-r--r--    1 root     root          339 Nov 16 02:08 hexagon.c

-rw-r--r--    1 root     root          460 Nov 16 02:10 hexagon.dat

-rw-r--r--    1 root     root         1696 Nov 16 01:52 hexagon.o

-rw-r--r--    1 root     root          151 Nov 16 02:12 hexagon.p

-rw-r--r--    1 root     root          617 Jan 30 15:10 id_dsa.pub

-rw-r--r--    1 root     root           12 Nov 21 08:03 info

-rw-r--r--    1 root     root        19564 Nov  9 03:50 install.log

-rw-r--r--    1 root     root         4268 Nov  9 03:50 install.log.syslog

-rwxr-xr-x    1 root     root          103 Nov 21 15:22 l1

-rwxr-xr-x    1 root     root          137 Nov 21 08:08 let

-rw-r--r--    1 root     root            3 Nov 14 16:15 list.o

-rwxr-xr-x    1 root     root          104 Nov 14 12:10 mean

drwxr-xr-x    2 root     root         4096 Nov 12 08:12 mmmmm

-rw-r--r--    1 root     root          762 Nov 21 07:44 named.conf

-rw-r--r--    1 root     root          104 Nov 11 07:04 nn

drwxr-xr-x    2 root     root         4096 Nov 21 04:01 p

-rw-r--r--    1 root     root           64 Jan 30 15:20 poem1

drwxr-xr-x    2 root     root         4096 Nov 21 04:01 pp

-rwxr-xr-x    1 root     root          133 Nov 21 05:24 shell

-rw-r--r--    1 root     root           29 Nov 21 14:00 time

-rw-r--r--    1 root     root         9767 Nov 21 15:54 xx.tar.gz





[yanji@localhost yanji]$ ssh root@192.168.233.4 "echo '(木兰诗片段)' >> poem1"

[yanji@localhost yanji]$ ssh root@192.168.233.4 "cat poem1"

唧唧复唧唧

木兰当户织

不闻机杼声

惟闻女叹息

(木兰诗片段)









四、实验的体会

知道部分远程操控的操作和免password登录。自己还是那么粗心,一開始就打错一个字母,搞了非常久才发现。

SSH公钥认证的更多相关文章

  1. SSH公钥认证+优化

    一 ssh公钥认证流程: sshclinet机器:产生公私钥(公钥相当于一把锁) sshclient:将公钥发给sshserver(抛出锁子) sshclinet去连sshserver不需要密钥   ...

  2. Linux配置SSH公钥认证与Jenkins远程登录进行自动发布

    公钥认证,是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密:另一个称为密钥(private key),只有拥有者才能看到,用于解密. 在使用jenkins ...

  3. ssh公钥认证原理及设置root外的其他用户登录ssh

    1)创建其他用户 useradd [-d 登录目录] [-G ssh][用户名]  一定要将用户添加到ssh组不然无法没有权限登录ssh 2)设置ssh不允许root登录 vi /etc/ssh/ss ...

  4. [svc][op]SSH公钥认证+优化

    一 ssh公钥认证流程: sshclinet机器:产生公私钥(公钥相当于一把锁) sshclient:将公钥发给sshserver(抛出锁子) sshclinet去连sshserver不需要密钥 二 ...

  5. 转: SSH 公钥认证

    转: http://blog.knownsec.com/2012/05/ssh-%E5%85%AC%E9%92%A5%E8%AE%A4%E8%AF%81/ SSH 公钥认证 2012-05-15 简介 ...

  6. SSH公钥认证(码云)

    开发者向码云版本库写入最常用到的协议是 SSH 协议,因为 SSH 协议使用公钥认证,可以实现无口令访问,而若使用 HTTPS 协议每次身份认证时都需要提供口令.使用 SSH 公钥认证,就涉及到公钥的 ...

  7. SSH公钥认证登录

    概述: SSH登录的认证方式分为两种,一种是使用用户名密码的方式,另一种就是通过公钥认证的方式进行访问, 用户名密码登录的方式没什么好说的,本文主要介绍通过公钥认证的方式进行登录. 思路: 在客户端生 ...

  8. 使用SecureCRT设置linux系统登录的ssh公钥认证

    1.修改ssh配置文件/etc/ssh/sshd_configRSAAuthentication yes                             //使用RSA加密算法PubkeyAu ...

  9. linux配置ssh公钥认证,打通root用户的免密码输入的scp通道

    1.ssh-keygen ssh-keygen是unix-like系统的一个用来生成.管理ssh公钥和私钥的工具. 2.用法 常用的重要的选项有: -b num   指定生成多少比特长度的key,单位 ...

  10. 一次由SELinux引起的ssh公钥认证失败问题

    一直使用CentOS作为服务器系统,平时装完系统以后都是建立publickey认证机制,然后关闭密码认证.原本是一件轻车熟路毫无压力的事情,不想前日新装一台机器按照正常配置以后居然使用publicke ...

随机推荐

  1. do while 循环和while循环的差别

    do while 循环和while循环的差别 1.do while循环是先运行循环体,然后推断循环条件,假设为真,则运行下一步循环,否则终止循环.    while循环是先推断循环条件,假设条件为真则 ...

  2. hibernate 管理 Session(单独使用session,非spring)

    Hibernate 自身提供了三种管理 Session 对象的方法 Session 对象的生命周期与本地线程绑定 Session 对象的生命周期与 JTA 事务绑定 Hibernate 托付程序管理 ...

  3. C++ Primer 学习笔记与思考_3 ---头文件那些事儿(extern)

    (一)extern在头文件里的使用方法 由于头文件包括在多个源文件里.而且变量的定义仅仅能出现一次,所以在头文件里. 仅仅能够声明不能够出现定义. 我们能够在头文件里用extern声明全局变量,这样在 ...

  4. maven、spring jdbc与mysql、mybatis

    以它们之前的一个简单用例作为实例. 一个简单的能跑起来的实例.原文网址.非常好的例子. http://www.open-open.com/lib/view/open1390534380648.html ...

  5. MEF example code

    public interface IObjectResolver { } public class ObjectResolver:IObjectResolver { private Compositi ...

  6. 从零开始学习SVG

    1 什么是SVG? MDN中的定义是:SVG即可缩放矢量图形(Scalable Vector Graphics,SVG),是一种用来描述二维矢量图形的 XML 标记语言. 简单地说,SVG 面向图形, ...

  7. OpenCart 如何安装 vQmod 教程

    vQmod (全称 Virtual Quick Mod),是 OpenCart (PHP 开源电商网站系统)上一个可以以虚拟方式修改原文件内容而设计的一个插件系统.它的使用很简单,我们先用 xml 的 ...

  8. Object-oriented programming

    Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects&qu ...

  9. Unity脚本生命周期 图解

    简单总结的话就是: Awake():初始化时执行,类似c#中的构造函数 OnEnable() Start() FixUpdate() Update() OnDisable() OnDestory() ...

  10. day13 基本的文件操作(好东西)

    目录 基本的文件处理 什么是文件 如何使用文件 使用Python写一个小程序控制文件 open(打开文件) read: readline:一次性读取一行 del:删除 close:关闭 write(写 ...