SSH公钥认证
一、实验的目的
了解密钥对的创建和使用,掌握免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公钥认证的更多相关文章
- SSH公钥认证+优化
一 ssh公钥认证流程: sshclinet机器:产生公私钥(公钥相当于一把锁) sshclient:将公钥发给sshserver(抛出锁子) sshclinet去连sshserver不需要密钥 ...
- Linux配置SSH公钥认证与Jenkins远程登录进行自动发布
公钥认证,是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密:另一个称为密钥(private key),只有拥有者才能看到,用于解密. 在使用jenkins ...
- ssh公钥认证原理及设置root外的其他用户登录ssh
1)创建其他用户 useradd [-d 登录目录] [-G ssh][用户名] 一定要将用户添加到ssh组不然无法没有权限登录ssh 2)设置ssh不允许root登录 vi /etc/ssh/ss ...
- [svc][op]SSH公钥认证+优化
一 ssh公钥认证流程: sshclinet机器:产生公私钥(公钥相当于一把锁) sshclient:将公钥发给sshserver(抛出锁子) sshclinet去连sshserver不需要密钥 二 ...
- 转: SSH 公钥认证
转: http://blog.knownsec.com/2012/05/ssh-%E5%85%AC%E9%92%A5%E8%AE%A4%E8%AF%81/ SSH 公钥认证 2012-05-15 简介 ...
- SSH公钥认证(码云)
开发者向码云版本库写入最常用到的协议是 SSH 协议,因为 SSH 协议使用公钥认证,可以实现无口令访问,而若使用 HTTPS 协议每次身份认证时都需要提供口令.使用 SSH 公钥认证,就涉及到公钥的 ...
- SSH公钥认证登录
概述: SSH登录的认证方式分为两种,一种是使用用户名密码的方式,另一种就是通过公钥认证的方式进行访问, 用户名密码登录的方式没什么好说的,本文主要介绍通过公钥认证的方式进行登录. 思路: 在客户端生 ...
- 使用SecureCRT设置linux系统登录的ssh公钥认证
1.修改ssh配置文件/etc/ssh/sshd_configRSAAuthentication yes //使用RSA加密算法PubkeyAu ...
- linux配置ssh公钥认证,打通root用户的免密码输入的scp通道
1.ssh-keygen ssh-keygen是unix-like系统的一个用来生成.管理ssh公钥和私钥的工具. 2.用法 常用的重要的选项有: -b num 指定生成多少比特长度的key,单位 ...
- 一次由SELinux引起的ssh公钥认证失败问题
一直使用CentOS作为服务器系统,平时装完系统以后都是建立publickey认证机制,然后关闭密码认证.原本是一件轻车熟路毫无压力的事情,不想前日新装一台机器按照正常配置以后居然使用publicke ...
随机推荐
- BAT常问问题总结以及回答(问题汇总篇)
几个大厂的面试题目目录: java基础(40题)https://www.cnblogs.com/television/p/9397968.html 多线程(51题) 设计模式(8点) JVM(12题) ...
- NumPy和Pandas常用库
NumPy和Pandas常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数 ...
- Oracle回滚段的概念,用法和规划及问题的解决
回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的头部包含正在使用的该回滚段事务的信息.一个事务只能使用一个回滚段来存放它的回滚信息,而一个回滚段可以存放多个事务的回 ...
- [JavaEE] Maven简介
转载自:百度 http://baike.baidu.com/view/336103.htm?fr=aladdin 一.简介 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构 ...
- shp系列(一)——利用C++进行shp文件的读(打开)与写(创建)开言
博客背景和目的 最近在用C++写一个底层的东西,需要读取和创建shp文件.虽然接触shp文件已经几年了,但是对于shp文件内到底包含什么东西一直是一知半解.以前使用shp文件都是利用软件(如ArcGI ...
- UICollectionView的注册
UICollectionView的dataSource中的item的注册 itme的注册和tableview中cell的创建是不同的 cell的创建是在cell中 而itme的注册是在viewDidL ...
- sqlserver数据文件位置如何迁移
亲测有效的一种方式: 1.对应的数据库脱机 2.迁移物理文件 3.删除原有实例 4.附加
- Java io 操作
package tlistpackage; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFou ...
- Spring meven 配置
使用maven的仓库化管理,可以更方便有效的控制文件. 在官网下载maven. 官网的地址:http://maven.apache.org/download.cgi 请选择最新的版本下载, 这里我用 ...
- 从url获取参数有中文时会出现乱码的问题
http://192.168.1.133/v2?groupId=58&opFlag=1&result=C,B,B,B,D&Name=本人很帅 我们js获取的url中的Name其 ...