本文系作者原创,转载请保留出处:http://marion.cublog.cn 
  
一、关闭并卸载RedHat9.0自带的Openssh 
  
1.1 停止服务 
  
#service sshd stop 
  
1.2 卸载Openssh 
  
#rpm -e openssh --nodeps 
#rpm -e openssh-server --nodeps 
#rpm -e openssh-clients --nodeps 
#rpm -e openssh-askpass-gnome 
#rpm -e openssh-askpass 
  
二、下载安装最新的openssl和openssh 
  
2.1 下载相关软件包至/usr/local/src目录  
  
http://www.openssl.org/source/openssl-0.9.8e.tar.gz

2.2 安装openssl 
  
#cd /usr/local/src 
#tar zxvf openssl-0.9.8e.tar.gz 
#cd openssl-0.9.8e 
#./config shared zlib 
#make  
#make test 
#make install 
mv /usr/bin/openssl /usr/bin/openssl.OFF 
mv /usr/include/openssl /usr/include/openssl.OFF 
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl 
ln -s /usr/local/ssl/include/openssl /usr/include/openssl 
  
2.3 配置库文件搜索路径 
  
#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf 
#ldconfig -v 
  
2.4 查看openssl的版本号,以验正是否安装正确 
  
#openssl version -a 
OpenSSL 0.9.8e 11 Apr 2007 
built on: Sat Mar 24 21:24:41 CST 2007 
platform: linux-elf 
options:  bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) idea(int) blowfish(idx)  
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DSHA1_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM 
OPENSSLDIR: "/usr/local/ssl" 
  
三、下载安装最新的openssh 
  
3.1 下载相关软件包至/usr/local/src目录  
  
ftp://openbsd.nsysu.edu.tw/BSD/OpenBSD/OpenSSH/portable/openssh-4.6p1.tar.gz 
  
3.2 安装 
  
#cd /usr/local/src 
#tar zxvf openssh-4.6p1.tar.gz 
#cd openssh-4.6p1 
#./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man  
#make  
#make install  
  
3.3 查看openssh版本号,验正安装结果 
  
# ssh  -v 
OpenSSH_4.6p1, OpenSSL 0.9.8e 11 Apr 2007 
usage: ssh [-1246AaCfgkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec] 
           [-D [bind_address:]port] [-e escape_char] [-F configfile] 
           [-i identity_file] [-L [bind_address:]port:host:hostport] 
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] 
           [-R [bind_address:]port:host:hostport] [-S ctl_path] 
           [-w local_tun[:remote_tun]] [user@]hostname [command] 
  
四、启动并验正服务的开启状况 
  
4.1 调试启动,如果以下显示均正常,就可以正常启动sshd了。 
  
#/usr/sbin/sshd -d 
debug1: sshd version OpenSSH_4.6p1 
debug1: private host key: #0 type 0 RSA1 
debug1: read PEM private key done: type RSA 
debug1: private host key: #1 type 1 RSA 
debug1: read PEM private key done: type DSA 
debug1: private host key: #2 type 2 DSA 
debug1: rexec_argv[0]='/usr/sbin/sshd' 
debug1: rexec_argv[1]='-d' 
socket: Address family not supported by protocol 
debug1: Bind to port 22 on 0.0.0.0. 
Server listening on 0.0.0.0 port 22. 
Generating 768 bit RSA key. 
RSA key generation complete. 
  
4.2 启动服务 
  
#/usr/sbin/sshd 
  
4.3 查看监听端口中是否有22 
  
#netstat -tnlp | grep :22 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      21018/sshd  
  
4.4 尝试从本机通过ssh登录 
  
# ssh root@localhost 
The authenticity of host 'localhost (127.0.0.1)' can't be established. 
RSA key fingerprint is 03:eb:80:fe:07:d9:9d:00:1c:15:37:93:d1:d3:8e:6d. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'localhost' (RSA) to the list of known hosts. 
root@localhost's password:  
Last login: Wed Apr 11 11:29:04 2007 from localhost.localdomain 
  
五、sshd进程及其相关参数详细说明 
  
sshd服务是OpenSSH的守护进程。此服务附带的工具程序可以取代rlogin和rsh,在两台会话的主机间通过非安全的Internet建立起安全的加密连接。sshd监听来自客户端的连接请求,并在接收到请求时fork一个子进程;此子进程将负责处理密钥交换、加密、认证、命令执行及数据传输等。可以使用命令行选项或者配置文件来配置启动sshd,但命令行中指定的选项将优先于配置文件中的相同选项。 
  
-4 强制sshd仅接收来自IPv4格式地址的请求; 
  
-6 强制sshd仅接收来自IPv6格式地址的请求; 
  
-b 指定ssh v1中服务器密钥的长度位数; 
  
-D 此选项只是用来监视sshd的启动状态,在附加此选项时,sshd不会作为一个守护进程启动; 
  
-d 此选项将启动调试模式;sshd服务的启动状态会在前台显示,并把详细的调试信息输出至日志文件;此时, sshd不会fork新的子进程,因此仅仅能接受一个连接请求。此先项主要用来调试sshd; 
  
-e 输出错误信息到日志文件,不包括正常的调试信息; 
  
-f 此选项后接指定的配置文件;默认为/etc/ssh/sshd_config; 
  
-g 此选项后跟一个时间期限,默认单位是秒,用来为客户端认证期间提供一个可以等待的期限;如果客户端在此指定期限内认证错误,sshd将断开连接并退出;0表示无时间限制; 
  
-h 此选项后跟一个主机密钥文件,用来指定一个sshd启动时读取的主机密钥文件;在以非root身份启动sshd时必须指定此选项(因为默认的key文件只有root具有读权限);ssh v1默认的key文件为/etc/ssh/ssh_host_key,sshd v2默认的key文件为/etc/ssh/ssh_host_rsa_key以 
及/etc/ssh/ssh_host_dsa_key;可以为不同版本的协议及不同的密钥算法指定不同的key文件; 
  
-i 此选项用来指定通过inetd守护进程启动sshd;sshd需要生成服务端密钥才能接受客户端的请求,这将需要大约10秒钟的时间,如果每个请求都重新生成一次密钥的话,客户端将不得不等待较长的时间,因此,默认情况下是不使用inet方式启动sshd的;如果使用较短长度的密钥,此选项将是一个颇富弹性的选择; 
  
-k 此选项后跟一个时间期限,用来为ssh v1指定一个重新生成服务端key的时间间隔(默认为一个小时);如此频繁的生成密钥的目的在于不必存储密钥,因此,超过了一个小时后恢复通讯期间加密的数据几乎是不可能的,哪怕机器被攻入亦或被占据,这将在很大程度上提高了安全性;0表示不重新生成密钥; 
  
-o 用来为配置文件指定一个新的可用选项; 
  
-p 指定sshd服务监听的端口(默认是22),可以同时指定多个端口;如果使用此选项,则会忽略配置文件中指定的端口; 
  
-q 安静模式,此种情况下将不会产生任何系统日志;正常情况下,服务启动、认证以及每一次终端登录都会被记录; 
  
-t 测试模式,仅用来检查配置文件的正确性及密钥是否健壮;此选项多用在配置文件改动时; 
  
六、sshd相关的文件详细说明 
  
~/.hushlogin 
    如果配置文件中分别启用了PrintLastLog和PrintMotd选项,则此文件可以用来在屏幕显示前一次的登录时间以及/etc/motd的内容。但不会显示Banner选项指定的banner。 
  
~/.rhosts 
    此文件主要用来实现主机间的认证。如果你的主机上有些用户的主目录位于NFS文件系统上,则必需把这个文件的权限置为全局可读,因为sshd进程将以root的身份读取此文件。此外,此文件属主必须为相关用户,且其他任何用户均不能具有写权限。一般推荐的权限为600。 
  
~/.ssh/authorized_keys 
    此文件存储的是用户的公钥,当其远程登录时可以用此公钥为其进行认证。公钥信息并非要求高度安全性的文件,但仍推荐将其权限置为700。如果此文件、~/.ssh目录或者此用户的主目录能被其他用户读取,则此文件将可能被其他非授权用户修改或置换。此种情况下,除非在主配置文件中把StrictModes的值置为"no",否则sshd将不允许使用此文件。 
  
~/.ssh/environment 
    如果此文件存在,将会在用户登录时读入用户的环境。它只能包含空行、以"#"开头的注释行以及形如“name=value”赋值行,推荐权限为600。默认情况下此功能是禁止的,可以通过PermitUserEnviroment选项开启。 
  
~/.ssh/known_hosts 
    用户曾成功登入过的主机的host key都将存放于此文件,但不包括系统间已经互相成功认证的主机host key,只能让root和属主具有读写权限。 
  
~/.ssh/rc 
    此文件用来在用户的主目录不能正常访问前初始化用户的登录环境,其权限应该为600。 
  
/etc/host.equiv 
    用于主机间的认证,只能让root用户可写。 
  
/etc/nologin 
    如果这个文件存在,sshd将拒绝除root用户外的任何其他用户登录。在任何用户在尝试登录时,此文件都将被显示,但所有非root用户将被拒绝。此文件应该是全局可读的。 
  
/etc/ssh/ssh_known_hosts 
    存入系统级别的互相认证时已知主机的host key。这个文件需要管理员手动配置,可以将已知主机的公钥存入于此文件。此文件只能为root或属主读写,但应该是全局可读的。 
  
/etc/ssh/ssh_host_key 
/etc/ssh/ssh_host_dsa_key 
/etc/ssh/ssh_host_rsa_key 
    以上三个文件用来存放主机密钥的私钥部分,它们的属主只能为root用户,只能被root用户读取,不能为其他任何用户访问。如果其他用户可以读取此文件,则sshd将不能启动。 
  
/etc/ssh/ssh_host_key.pub 
/etc/ssh/ssh_host_dsa_key.pub 
/etc/ssh/ssh_host_rsa_key.pub 
    以上三个文件用来存放主机密钥的公钥部分,它们应该是全局可读的,但只有root用户可写。它们分别对应相应的私钥文件。这些文件并没有什么实际用途,仅仅是用来为用户认证登录提供便利,因此常被copy至其它可信的主机中。可以使用ssh-keygen来生成这些文件。 
  
/etc/ssh/sshd_config 
    sshd的主配置文件;

转载于:https://www.cnblogs.com/york-hust/archive/2012/07/25/2608643.html

OpenSSH学习笔记(安装配置openssh-4.6p1)[zz]相关推荐

  1. Kotlin学习笔记——安装配置kotlin

    这个系列主要为了整理一下自己学习kotlin的笔记以及学习过程中遇到的问题. 整个系列初期大约有20篇左右,我会尽快整理出来.后续会不定时更新,主要是实际使用的案例或者一些知识点的深入探讨. 1.安装 ...

  2. Storm学习笔记——安装配置

    1.安装一个zookeeper集群 2.上传storm的安装包,解压 3.修改配置文件conf/storm.yaml #所使用的zookeeper集群主机 storm.zookeeper.server ...

  3. oracle11g中用asmlib配置磁盘组,ASM学习笔记_配置ASMLIB磁盘组

    ASM学习笔记_配置ASMLIB磁盘组 目录 1 ASMLIB Introduction 2 虚拟机添加一个共享磁盘(块设备) 3 下载,安装ASMLIB 4 配置,使用ASMLib 磁盘组 #### ...

  4. Linux学习笔记12——配置ftp、squid、Tomcat、Samba、MySQL主从

    Linux学习笔记12 Linux学习笔记12 配置FTP服务 配置pure-ftpd 开机启动 上传下载文件 配置vsftpd CentOS 70安装配置Vsftp服务器 搭好vsftp之后出现55 ...

  5. Maven学习以及安装配置教程

    Maven学习以及安装配置教程 一.简介 Maven是Apache软件基金会推出用于java项目构建以及依赖管理的工具 官方网站:Maven Repository: commons-httpclien ...

  6. Pyspark学习笔记1——配置环境并计算pi测试

    Pyspark学习笔记(一) 环境搭建 在linux的CentOS 7.3中,首先要配置好JDK和python. 1.JDK和Python3配置 Jdk的下载地址,注意需要先点击同意条款的按钮.htt ...

  7. 网管软件Zabbix3.4.8 使用笔记 - 安装配置 20180509

    目录 目录 前言 需求 下载 安装 第一次启动 初始设置 修改主题样式和语言 修改时区 Ubuntu操作系统时区设置 apache时区设置 首先把Zabbix服务器自身监控上,可以看到是否开始正常工作 ...

  8. MyGeneration学习笔记(10) :配置数据库连接

    在我的<MyGeneration学习笔记(1) : 使用MyGeneration生成存储过程和数据访问层代码 >一文中,我提到用internal string _raw = Project ...

  9. (非常详细)大数据平台学习·环境安装配置(一)(RockyLinux9版)

    一.文章简介 着手搭建大数据平台时,配置虚拟机环境是成为新手的第一道门槛.虽然各种视频和网站上也有很多虚拟机安装配置教程,但由于对 Linux 环境不熟悉,同时加上网上不少教程都是五花八门的cento ...

最新文章

  1. python虚拟环境迁移及代码实现
  2. 【运筹学】线性规划 单纯形法 案例二 ( 第一次迭代 | 矩阵变换 | 检验数计算 | 最优解判定 | 入基变量 | 出基变量 )
  3. tomcat jdk servlet websocket版本对应关系
  4. mysql创建索引要加index吗_MySql创建索引,添加索引
  5. 修改 PhpStorm 的字体和样式
  6. 12v电量显示制作方法_如何制作老式12v充电器(四款12v充电器设计制作详解)
  7. 007--C++动态内存(数组)
  8. 深入探讨SDN拓扑发现机制:新的攻击及实践对策【SDN拓扑】(下)
  9. 15日直播预告丨SQL条件等价改写秘笈(主讲人:怀晓明)
  10. php http请求 微信,微信小程序封装http请求类的代码实例
  11. 搭建vue并且实现360和谷歌浏览器对office(ntko)在线编辑工具的集成
  12. 从零开始学统计 03 | 均值,方差,标准差
  13. 《Web安全之机器学习入门》笔记:第七章 7.5朴素贝叶斯检测WebShell(二)
  14. vue项目中实现录屏两种方式rrweb和RecordRTC
  15. vim中复制整个别的文件内容
  16. 什么是android应用程序未安装,应用程序未安装,教您安卓系统应用程序未安装怎么解决...
  17. HBuilder控制台打开方式
  18. java使用Ip连接Oracle失败
  19. 因式分解,输出素数因子及其指数
  20. 印尼央行批准外国游客使用移动支付

热门文章

  1. 从零开始刷Leetcode——数组(122.167.169)
  2. ajax 请求struts1,jquery ajax +struts1.3
  3. flutter框架优缺点_小程序框架全面测评
  4. python如何在列表中查找元素位置_查找元素在list中的位置以及折半查询
  5. data-index在react里怎样表达_对牛弹琴,在英语里该怎样地道表达?
  6. pytorch显存管理
  7. leetcodepython_LeetCode 答案(python)1-17
  8. 知道python_看完这篇文章,你就知道Python是什么?
  9. Error: cannot allocate vector of size 88.1 Mb问题
  10. 开发一个iOS应用没有那么容易