RHEL5.4学习总结――SSH服务器的搭建与应用

                     RHEL5.4学习总结——SSH服务器的搭建与应用

      SSH简介:很多设备,如路由器、防火墙等等,都提供了一种远程访问与管理的接口。如Windows服务器可以利用Telnet协议进行远程管理等等。但是,Telnet不怎么安全。因为其在传输过程中,帐户与密码都是明文传输的。在网络传输过程中,这是非常危险的。
  针对Telnet协议不安全这种情况,有人开发出了一个SSH协议。其原理跟Telnet类似,只是其具有更高的安全性。SSH是一个运行在传输控制层上的应用程序。他跟Telnet相比,提供了强大的认证与加密性能。他可以保证在我们连接到网络设备的过程中,其传输的数据是加密处理过的。这么做,就是为了保障帐户与口令的安全。
    SSH原理:简单的说SSH是secure shell protocol的简写,它通过对联机数据包的加密技术进行数据的传输,加密技术是通过一对公钥和私钥(public key and private key)组合成的密钥进行加密与解密的操作,如下图所示: 

                 
     当SSH服务激活之后,会产生一支公钥和私钥,当数据由Client端传送到 Server端时,这些数据会先经过公钥(,Public Key)来进行加密,那么等这些经过公钥加密的数据传送到 Client 端之后,就可以由私钥(Private Key)来进行解密。需要注意的是,这些公钥与私钥在每一部计算机上面都不一样,所以,你与 Server 的联机对其他人来说,都是很难去破解!
SSH服务器的启动及应用:
[root@redfeng1 ~]#server sshd start
[root@redfeng1 ~]netstat -ltp

直接登录到对方主机的方法
[root@redfeng1 ~]ssh 192.168.1.240
The authenticity of host '192.168.1.240 (192.168.1.240)' can't be established.
RSA key fingerprint is 5b:48:e7:c0:38:22:cd:cd:2c:85:c9:34:c1:c5:c9:72.
Are you sure you want to continue connecting (yes/no)? yes //输入yes
Warning: Permanently added '192.168.1.240' (RSA) to the list of known hosts.
[email protected]'s password:   //这里输入对方主机的密码,屏幕不会显示信息
Last login: Sun Mar  7 21:00:29 2010 from 192.168.1.241

SSH服务器的配置(无密码记问):
Server部分为redhat1,IP为192.168.1.240的主机使用Root这个帐号
Client部分为redhat2,IP为192.168.1.241的主机使用Root 这个帐号
注:这里主要是为了学习,所以用Root进行试验,实际需禁用Root的远程登录
    SSH所有的设置都在/etc/ssh/sshd_config里,有关它的详细解释可以谷歌一下,以下主要是对不用密码进行远程登录的配置,即然SSH可以使用KEY来比对数据进行数据的加密,因此我们可以将client端产生的密钥复制到server中,以后从client端登录server时,由于两者在SSH要联机的信号传递中已经比对过KEY了,所以不需要输入密码就可登录远程主机,具体步骤如下:
1. 先在client端建立public key and private key两个密钥,利用的命令是:ssh-keygen。
     [root@redfeng1 ~]# ssh-keygen -t rsa//这个步骤会产生一个Key pair使用RSA加密
     Generating public/private rsa key pair.
     Enter file in which to save the key (/root/.ssh/id_rsa)://这里回车
     /root/.ssh/id_rsa already exists.//我以前做过试验已经存在那个文件,覆盖即可
     Overwrite (y/n)? y     //输入y
     Enter passphrase (empty for no passphrase):    //这里回车
     Enter same passphrase again:     //再回车
     Your identification has been saved in /root/.ssh/id_rsa.   //这是私钥
     Your public key has been saved in /root/.ssh/id_rsa.pub.   //这是公钥
     The key fingerprint is:
     07:67:b2:10:38:7f:2f:23:b4:8a:07:7e:38:fe:0e:7c
root@redfeng1 
2. 以上建立的public key and private key都存放在默认目录中即:$home/.ssh/并修改权限为仅该用户可读的状态。
[root@redfeng1 ~]# ll ~/.ssh/

3. 我们要用超级管理用户进行远程登录,所以本机的私钥要放在/root/.ssh/下,本机的公钥Public key要放在服务器端的root/.ssh/目录中并改名为authorized_key,必须的,远程传送:
[root@redfeng1 .ssh]# scp id_rsa.pub 192.168.1.241:~/.ssh/authorized_keys



4. SSH服务器的测试
[root@redfeng1 ~]# ssh 192.168.1.241
 
    不必输入密码即可直接登录到redfeng2这台主机。相反把redfeng2的公钥放在redfeng1这台主机相对应的目录就可以互相无密码的访问。
结束:这就是SSH服务器
的简单配置,本博客仅为学习交流,对于文中的错误请给于指正,对于初学者而言可以看一下,希望对你有所帮助!

 

你可能感兴趣的:(linux,ssh,职场,RHEL,休闲)