安装Unix OpenSSH的知识
创始人
2024-06-29 09:51:48
0次

利用各种 Unix 环境中可用的工具,今天就来学习使用Unix OpenSSH。您每天使用的标准网络服务(如 FTP、Telnet、RCP 和远程 Shell (rsh) 等)在封闭环境中运行良好,但使用这些服务在网络上传输的信息是未加密的。任何人都可以在您的网络或远程计算机上使用包嗅探器查看交换的信息,有时甚至可以查看密码信息。

而且,使用所有此类服务时,在登录过程中用于自动登录的选项会受到限制,并且通常依赖于将纯文本密码嵌入到命令行才能执行语句,从而使登录过程变得更加不安全。

开发的安全 Shell (SSH) 协议可以排除这些限制。SSH 能够为整个通信通道提供加密,其中包括登录和密码凭据交换,它与公钥和私钥一起使用可以为登录提供自动化身份验证。您还可以将 SSH 用作基础传输协议。以这种方式使用 SSH 意味着在打开安全连接后,加密通道可以交换所有类型的信息,甚至 HTTP 和 SMTP 可以使用该方法来保证通信机制的安全。

Unix OpenSSH 是 SSH 1 和 SSH 2 协议的免费实现。它最初是作为 OpenBSD (Berkeley Software Distribution) 操作系统的一部分开发的,现在被发布为 Unix 或 Linux® 和类似操作系统的常规解决方案。

安装Unix OpenSSH

OpenSSH 是免费软件,可以从Unix OpenSSH 的主要网站下载(请参见参考资料)。可以使用多种系统(包括 Linux、HP-UX、AIX®、Solaris、Mac OS X 等)上的源代码构建Unix OpenSSH 系统。通常可以找到所选平台和版本的预编译二进制代码。有些供应商甚至作为操作系统的一部分提供 OpenSSH 工具包。

要构建Unix OpenSSH,您需要以下内容:

C 编译器(GNU C 编译器 (gcc) 或类似编译器)
Zlib – 压缩库
OpenSSL – 安全套接字层 (SSL) 安全库
如果您需要使用缺省配置设置,请使用常规构建序列,如下面的清单 1 所示。

清单 1. 使用常规构建序列
 

  1. $ ./configure  
  2. $ make  
  3. $ make install 

这会将二进制文件、库文件和配置文件安装到 /usr/local 目录中,例如,二进制文件安装到 /usr/local/bin,配置文件安装到 /usr/local/etc。如果希望将各种工具集成到主环境中,那么您可能需要指定设置基本目录的 --prefix 选项和设置配置文件位置的 --sysconfdir 选项:$ ./configure --prefix=/usr --sysconfidir=/etc/ssh
 
您可能指定的一些其他常规选项包括:

--with-tcp-wrappers——如果您希望与 TCP 包装安全系统集成在一起,则此选项是必需的。
--with-ssl-dir=DIR——此选项指定 OpenSSL 库的位置。
--with-pid-dir=DIR——此选项指定 PID 文件的位置,该文件为 sshd 守护进程存储进程 ID。
--with-xauth=DIR——此选项指定用于 X 身份验证的 xauth 命令的位置。
完成配置后,使用 make 以正常方式构建。

构建和安装过程完成后,您需要配置系统,先创建唯一标识系统的 SSH 密钥,然后启用客户机和主机之间的安全通信。您可以运行: $ make host-key

或者,您可以在命令行上手动执行各个步骤。您需要创建三个密钥(每个密钥对应于一个主要加密算法:rsa1、rsa 和 dsa)。例如,清单 2 显示了如何创建 rsa1 密钥。

清单 2.Unix OpenSSH 创建 rsa1 密钥
 

  1. $ ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key  
  2. Generating public/private rsa1 key pair.  
  3. Enter passphrase (empty for no passphrase):   
  4. Enter same passphrase again:   
  5. Your identification has been saved in /etc/ssh//ssh_host_key.  
  6. Your public key has been saved in /etc/ssh//ssh_host_key.pub.  
  7. The key fingerprint is:  
  8. 43:aa:58:3c:d8:30:de:43:af:66:2a:b2:8d:02:08:86 root@remotehost 

 
系统提示您输入密码。对于主机密钥,您可能不需要密钥密码,所以您可以按 Return 使用空密码。或者,您可以在命令行上使用 -N 选项加速该过程(请参见清单 3)。

清单 3. 使用 -N 选项加速过程
 

  1. $ ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""  
  2. Generating public/private rsa1 key pair.  
  3. Your identification has been saved in /etc/ssh/ssh_host_key.  
  4. Your public key has been saved in /etc/ssh/ssh_host_key.pub.  
  5. The key fingerprint is:  
  6. a3:e3:21:4f:b5:9f:ff:05:46:66:bc:36:a1:47:a0:64 root@remotehost 


 
现在重复该过程,以创建 rsa 和 dsa 密钥(请参见清单 4)。

清单 4.Unix OpenSSH 创建 rsa 和 dsa 密钥
 

  1. $ ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""  
  2. $ ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N "" 

 
这将为每个密钥类型创建两个文件:公钥(在以 .pub 结尾的文件中)和私钥。您应确保私钥仅由根和 SSH 流程读取——这应自动配置。您可能需要将公钥复制到网络文件系统 (NFS) 共享中的中央位置,使人们能够将其添加到已知主机密钥列表中。

***,您需要启动 sshd 过程,并对其进行配置,以便在启动时执行。对于 Linux 主机,您可以在 contrib/redhat/sshd.init 中找到合适的可以添加到 /etc/init.d 的 init 脚本。

这样,Unix OpenSSH就安装完毕了。希望大家好好的学习。

【编辑推荐】

  1. IRIX系统全面知识讲解
  2. IRIX用户环境知识讲解
  3. IRIX操作系统用户帐户管理讲解
  4. 探析Unix口令破解原理
  5. Unix函数库中CrackLib原理及应用

 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...