SSH(Secure SHell)使用,sshsecure


    • SSH(Secure SHell)使用
      • 1. 什么是SSH?
      • 2. SSH是如何工作的?
      • 3. 为什么要采用第二种方法登录?
      • 4. 本机Win 7和Virtual box虚拟机ubuntu之间的实验
        • 4.1 进行ssh的密码口令连接
        • 4.2 进行ssh的密钥连接-在Win 7下制作密钥
          • 4.2.1 使用puttygen制作密钥
          • 4.2.2 修改ubuntu系统中openssh的配置
          • 4.2.3 拷贝公钥信息到ubuntu的特定文件中
          • 4.2.4 使用putty进行密钥登录
        • 4.3 进行ssh的密钥连接-在Ubuntu下制作密钥
          • 4.3.1 在Linux下生成密钥
          • 4.3.2 把公钥写入authorized_keys文件中
          • 4.3.3 生成putty私钥
          • 4.3.4 使用putty进行密钥登录

SSH(Secure SHell)使用

1. 什么是SSH?

传统的网络服务程序,如ftp,pop和telnet在本质上是不安全的,因为它们使用明文 传送口令和数据,很容易被冒充真正服务器的中间人修改通信数据,影响你的正常通信。   SSH可以对你的数据进行加密,所以可以防止"中间人"攻击,DNS和IP欺骗,还一个 好处是它对传输数据进行了压缩,可以加快传输的速度。   现在一般使用的是OpenSSH 2.X,免费,而且同时支持1.x和2.x的版本。

2. SSH是如何工作的?

从客户端来看,SSH提供两种级别的安全验证: 1. 基于口令的安全验证,只要知道自己的账号和密码就可以登录远程的主机,数据也都是 加密的,但不能确定的是正在连接的服务器是不是你想到登录的服务器,也有可能受到"中间人" 的攻击   2. 基于密匙的安全验证,需要自己创建一对密匙,并把公用密匙放在服务器上。如果你需要 连接到SSH服务器上,客户端就会向服务器端发出请求,请求用你的密匙进行安全验证。服务器 收到请求之后,先在服务器上找到公用密匙,再用这个密匙和你发送过来的进行比对。如果两个 密匙一致,服务器就用公用密匙加密"质询"(challenge)并把它发送给客户端。客户端软件收到 质询之后再用你的私人密匙进行解密再把它发给服务器。   第二种方式更安全,数据加密,但登录时间可以比较长。  

3. 为什么要采用第二种方法登录?

采用密码登录的缺点: a)用户无法设置空密码(即使系统允许空密码,也会十分危险) b)密码容易被人偷窥或猜到 c)服务器上的一个帐户若要给多人使用,则必须让所有使用者都知道密码, 导致密码容易泄露,而且修改密码时必须通知所有人   而采用公钥可以解决以上问题: a)公钥认证允许使用空密码,省去每次登录都需要输入密码的麻烦 b)多个使用者可以通过各自的密钥登录到系统上的同一个用户 c)即使修改了对应用户的密码,也不会影响登陆 d)若同时禁用密码认证,则只要保证私钥的安全,不会受到暴力破解的威胁

4. 本机Win 7和Virtual box虚拟机ubuntu之间的实验

4.1 进行ssh的密码口令连接

1. 需要在VB中设置连接方式由NAT改为Bridge   2. 使用"sudo apt-get install openssh-server"帮Ubuntu安装ssh服务器, 使用"sudo service ssh start"启动ssh服务  可以使用命令ps -e|grep ssh来查看是否成功启动   如果没有启动,可以使用命令sudo /etc/init.d/ssh start启动服务   3. 在Windows即主机中使用Putty登录Ubuntu,输入Ubuntu的ip地址即可, 其他默认。putty的下载地址: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html     4. 输入用户名和密码就可以远程登录ubuntu了  

4.2 进行ssh的密钥连接-在Win 7下制作密钥

4.2.1 使用puttygen制作密钥
密钥包括私钥和公钥。
下载地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 启动puttygen,为了兼容openssh密钥,选择"SSH2 RSA",点击Generate, 并在窗口的空白区域随意移动鼠标以获得生成密钥的随机数据,直到进度条结束为止。   完成效果为:   输入key passphrase和confirm passphrase,类似私钥密码,点击"Save private key"。 公钥信息在上面的文本框中,等下需要复制到ubuntu系统的特定文件中。   可以看到私钥的保存内容包含了公钥和私钥。
4.2.2 修改ubuntu系统中openssh的配置
修改/etc/ssh/sshd_config: PermitRootLogin no  # 禁止root用户登陆 StrictModes yes  # 检查密钥的用户和权限是否正确,需要是authorized_keys文件一定为644权限,默认是打开的 RSAAuthentication yes        # 启用 RSA 认证 AuthorizedKeysFile     .ssh/authorized_keys   # 验证公钥的存放路径 PubkeyAuthentication yes     # 启用公钥认证 PasswordAuthentication no    # 禁止密码认证,只能进行密钥连接,默认是打开的。 ChallengeResponseAuthentication no  #关闭挑战应答方式 UsePAM no  #不使用PAM认证 以上参数可以根据需要进行调整。   然后重启sshd服务: sudo /etc/init.d/ssh stop sudo /etc/init.d/ssh start 或者直接: sudo /etc/init.d/ssh restart
4.2.3 拷贝公钥信息到ubuntu的特定文件中
在之前的窗口中,拷贝公钥内容,并写入~/.ssh/authroized_keys文件下    如果没有.ssh目录和authroized_keys文件,需要自己创建,并且要修改目录和文件的权限 >mkdir ~/.ssh >chmod 700 ~/.ssh >emacs ~/.ssh/authorized_keys >chmod 644 ~/.ssh/authorized_keys   644权限代表别人不能对此文件进行写操作,用来保护别人不能随意把他的 公钥写进去。
4.2.4 使用putty进行密钥登录
在Connection->SSH->Auth中选择私钥文件:   在Connection->Data中写入你的登录时用的用户名   也要在Session那写在ubuntu系统的IP,再点击open按钮。 这个时候,需要输入passphrase密码,也就是私钥密码。这个密码的作用是保护 私钥文件,就算别人得到你的私钥文件,没有这个密码也不能进行登录。

4.3 进行ssh的密钥连接-在Ubuntu下制作密钥

4.3.1 在Linux下生成密钥
在命令行下运行: > ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/compilers/.ssh/id_rsa):  #输入私钥保存地址 Enter passphrase (empty for no passphrase):  #输入私钥密码 Enter same passphrase again:  #确认密码 Your identification has been saved in /home/compilers/.ssh/id_rsa. Your public key has been saved in /home/compilers/.ssh/id_rsa.pub. The key fingerprint is: e7:f6:98:57:f0:d9:93:54:30:76:9f:10:09:c0:f8:b9 compilers@compilers-vm The key's randomart image is: +--[ RSA 2048]----+ |        o....o*..| |       . .   o.o+| |        . .    .o| |         o  .  . | |        S o  o.o.| |         E    +o.| |          o  .  .| |         . +.    | |          o..    | +-----------------+
4.3.2 把公钥写入authorized_keys文件中
> cd ~/.ssh > cat id_rsa.pub >> quthorized_keys #需要换行加入新的内容
4.3.3 生成putty私钥
1. 把id_rsa传到windows系统上。 2. 使用puttygen的"Load private key"读取id_rsa文件,并输入私钥密码:   文本框里的内容应该和id_rsa.pub中的一致。点击"Save private key"保存私钥。
4.3.4 使用putty进行密钥登录
那就是和之前一样的操作:    



通过 为知笔记 发布



相关内容

    暂无相关文章