【实验目的】
1)了解ssh工具的作用
2)熟悉ssh配置过程
3)理解ssh原理
【实验原理】
SSH是目前比较可靠的专为远程登录会话和其他网络服务提供安全的协议。不同主机之间在进行通信时,一般都是需要输入密码进行验证, ssh免密码之后,只要通过指定主机地址和端口号就可以实现不同的计算机之间访问,并且在访问时不需要密码实现直接访问。ssh免密码登录主要采用算法有:对称加密算法和非对称加密算法。例如有两个linux系统simple01和simple02:
1.首先在simple01上ssh-keygen -t rsa生成一对钥匙id_rsa(私钥)和id_rsa.pub(公钥)
2.simple01执行ssh-copy-id simple02 在simple02端生成autherired_keys文件并保存了simple01机器上的id_rsa.pub信息内容
3.simple01向simple02发送一个ssh请求
4.请求在传输中带有simple01机器发送的指令信息,指令信息如(root@simple01+指令等)
5.simple02接收到simple01的信息后,会根据(root@simple01+指令等)到authorized_keys中进行查找,如果没找到,向simple01返回需要输入密码,如果找到simple02会随机生成一个字符串,自已保存一份,然后使用simple01的公钥进行加密。
6.将加密后的字符串发送给simple01
7.simple01接收到加密后的字符串,用自已的私钥进行解密。
8.将解密后的字符串再发送给simple02
9.simple02接收simple01发送的解密后的字符串与原来的字符串进行比对,如果一致,可以免密码登录
【实验环境】
本次环境是:centos6.5 + jdk1.7.0_79 + sshd
工具包在/simple/soft目录下
说明:ssh免密码登录配置一般是在两个主机之间,就像实验原理中simple01和simple02描述的两个主机之间配置免密码配置的过程。由于本实验是在单个主机上进行模拟配置两个主机之间的免密码登录,所以本实验就是通过单个主机自身配置免密码登录模拟2个主机之间的免密码登录。
【实验步骤】
一、进入.ssh目录
1.1 在linux系统的终端的任何目录下通过切换命令:cd ~/.ssh进入到.ssh目录下并通过pwd查看该目录路径。如图1所示
图1
1.2 查看.ssh目录下内容,执行命令ls 。此时该目录下没有任何文件和文件夹。 如图2所示
图2
二、生成ssh免登录密钥
2.1 在linux系统命令框的.ssh目录下执行命令:ssh-keygen -t rsa (连续四个回车),执行完上面命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)。如图3所示
图3
2.2 查看公钥和私钥内容,执行cat id_rsa 和 cat id_rsa.pub 。如图4所示
图4
三、将公钥拷贝到要免登录的机器上
3.1 在simple上执行ssh-copy-id simple命令(相当于该主机给自身设置免密码登录,主机名视虚拟机实际主机名而定),根据提示输入yes并输入访问主机所需要的密码。(主机名请根据实际虚拟机的主机名,密码为Simplexue123),如图5所示
图5
3.2 在simple机器上切换到.ssh目录:cd ~/.ssh 。如图6所示
图6
3.3 查看.ssh目录下的内容,在.ssh目录下多个文件authorized_key其内容就是密码值,此时就可以直接访问simple了。如图7所示
图7
3.4 执行ssh simple命令,然后输入一次访问密码之后,以后再访问simple主机即可不用输入密码就连接到simple上。如图8所示
图8