导航:首页 > 源码编译 > ssh编译withpam

ssh编译withpam

发布时间:2022-08-18 06:38:43

A. 怎样对ssh框架结构的编译之后的.class进行混淆处理,防止反编译。

下面是我从论坛上靠过来的 希望对你有帮助

常用的保护技术
由于Java字节码的抽象级别较高,因此它们较容易被反编译。本节介绍了几种常用的方法,用于保护Java字节码不被反编译。通常,这些方法不能够绝对防止程序被反编译,而是加大反编译的难度而已,因为这些方法都有自己的使用环境和弱点。
隔离Java程序
最简单的方法就是让用户不能够访问到Java
Class程序,这种方法是最根本的方法,具体实现有多种方式。例如,开发人员可以将关键的Java
Class放在服务器端,客户端通过访问服务器的相关接口来获得服务,而不是直接访问Class文件。这样黑客就没有办法反编译Class文件。目前,通
过接口提供服务的标准和协议也越来越多,例如 HTTP、Web
Service、RPC等。但是有很多应用都不适合这种保护方式,例如对于单机运行的程序就无法隔离Java程序。这种保护方式见图1所示。
图1隔离Java程序示意图
对Class文件进行加密
为了防止Class文件被直接反编译,许多开发人员将一些关键的Class文件进行加密,例如对注册码、序列号管理相关的类等。在使用这些被加密的类之前,程序首先需要对这些类进行解密,而后再将这些类装载到JVM当中。这些类的解密可以由硬件完成,也可以使用软件完成。
在实现时,开发人员往往通过自定义ClassLoader类来完成加密类的装载(注意由于安全性的原因,Applet不能够支持自定义的
ClassLoader)。自定义的ClassLoader首先找到加密的类,而后进行解密,最后将解密后的类装载到JVM当中。在这种保护方式中,自定
义的ClassLoader是非常关键的类。由于它本身不是被加密的,因此它可能成为黑客最先攻击的目标。如果相关的解密密钥和算法被攻克,那么被加密的
类也很容易被解密。这种保护方式示意图见图2。
图2 对Class文件进行加密示意图
转换成本地代码
将程序转换成本地代码也是一种防止反编译的有效方法。因为本地代码往往难以被反编译。开发人员可以选择将整个应用程序转换成本地代码,也可以选择关键模块转换。如果仅仅转换关键部分模块,Java程序在使用这些模块时,需要使用JNI技术进行调用。
当然,在使用这种技术保护Java程序的同时,也牺牲了Java的跨平台特性。对于不同的平台,我们需要维护不同版本的本地代码,这将加重软件支持和维护的工作。不过对于一些关键的模块,有时这种方案往往是必要的。
为了保证这些本地代码不被修改和替代,通常需要对这些代码进行数字签名。在使用这些本地代码之前,往往需要对这些本地代码进行认证,确保这些代码没有被黑客更改。如果签名检查通过,则调用相关JNI方法。这种保护方式示意图见图3。
代码混淆
图3 转换成本地代码示意图
代码混淆是对Class文件进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能(语义)。但是混淆后的代码很难被反编译,即反编
译后得出的代码是非常难懂、晦涩的,因此反编译人员很难得出程序的真正语义。从理论上来说,黑客如果有足够的时间,被混淆的代码仍然可能被破解,甚至目前
有些人正在研制反混淆的工具。但是从实际情况来看,由于混淆技术的多元化发展,混淆理论的成熟,经过混淆的Java代码还是能够很好地防止反编译。下面我
们会详细介绍混淆技术,因为混淆是一种保护Java程序的重要技术。图4是代码混淆的示意图。
图4 代码混淆示意图
几种技术的总结
以上几种技术都有不同的应用环境,各自都有自己的弱点,表1是相关特点的比较。
混淆技术介绍
表1 不同保护技术比较表
到目前为止,对于Java程序的保护,混淆技术还是最基本的保护方法。Java混淆工具也非常多,包括商业的、免费的、开放源代码的。
Sun公司也提供了自己的混淆工具。它们大多都是对Class文件进行混淆处理,也有少量工具首先对源代码进行处理,然后再对Class进行处理,这样加
大了混淆处理的力度。目前,商业上比较成功的混淆工具包括JProof公司的1stBarrier系列、Eastridge公司的JShrink和
4thpass.com的SourceGuard等。主要的混淆技术按照混淆目标可以进行如下分类,它们分别为符号混淆(Lexical
Obfuscation)、数据混淆(Data Obfuscation)、控制混淆(Control
Obfuscation)、预防性混淆(Prevent Transformation)。
符号混淆
在Class中存在许多与程序执行本身无关的信息,例如方法名称、变量名称,这些符号的名称往往带有一定的含义。例如某个方法名为
getKeyLength(),那么这个方法很可能就是用来返回Key的长度。符号混淆就是将这些信息打乱,把这些信息变成无任何意义的表示,例如将所有
的变量从vairant_001开始编号;对于所有的方法从method_001开始编号。这将对反编译带来一定的困难。对于私有函数、局部变量,通常可
以改变它们的符号,而不影响程序的运行。但是对于一些接口名称、公有函数、成员变量,如果有其它外部模块需要引用这些符号,我们往往需要保留这些名称,否
则外部模块找不到这些名称的方法和变量。因此,多数的混淆工具对于符号混淆,都提供了丰富的选项,让用户选择是否、如何进行符号混淆。
数据混淆
图5 改变数据访问
数据混淆是对程序使用的数据进行混淆。混淆的方法也有多种,主要可以分为改变数据存储及编码(Store and Encode Transform)、改变数据访问(Access Transform)。
改变数据存储和编码可以打乱程序使用的数据存储方式。例如将一个有10个成员的数组,拆开为10个变量,并且打乱这些变量的名字;将一个两维数组转化为一个一维数组等。对于一些复杂的数据结构,我们将打乱它的数据结构,例如用多个类代替一个复杂的类等。
另外一种方式是改变数据访问。例如访问数组的下标时,我们可以进行一定的计算,图5就是一个例子。
在实践混淆处理中,这两种方法通常是综合使用的,在打乱数据存储的同时,也打乱数据访问的方式。经过对数据混淆,程序的语义变得复杂了,这样增大了反编译的难度。
控制混淆
控制混淆就是对程序的控制流进行混淆,使得程序的控制流更加难以反编译,通常控制流的改变需要增加一些额外的计算和控制流,因此在性能上会给程序带来一定的负面影响。有时,需要在程序的性能和混淆程度之间进行权衡。控制混淆的技术最为复杂,技巧也最多。这些技术可以分为如下几类:
增加混淆控制
通过增加额外的、复杂的控制流,可以将程序原来的语义隐藏起来。例如,对于按次序执行的两个语句A、B,我们可以增加一个控制条件,以决定B的执行。通过
这种方式加大反汇编的难度。但是所有的干扰控制都不应该影响B的执行。图6就给出三种方式,为这个例子增加混淆控制。
图6 增加混淆控制的三种方式
控制流重组
重组控制流也是重要的混淆方法。例如,程序调用一个方法,在混淆后,可以将该方法代码嵌入到调用程序当中。反过来,程序中的一段代码也可以转变为一个函数
调用。另外,对于一个循环的控制流,为可以拆分多个循环的控制流,或者将循环转化成一个递归过程。这种方法最为复杂,研究的人员也非常多。
预防性混淆
这种混淆通常是针对一些专用的反编译器而设计的,一般来说,这些技术利用反编译器的弱点或者Bug来设计混淆方案。例如,有些反编译器对于
Return后面的指令不进行反编译,而有些混淆方案恰恰将代码放在Return语句后面。这种混淆的有效性对于不同反编译器的作用也不太相同的。一个好
的混淆工具,通常会综合使用这些混淆技术。
案例分析
在实践当中,保护一个大型Java程序经常需要综合使用这些方法,而不是单一使用某一种方法。这是因为每种方法都有其弱点和应用环境。综合使用这些方法使得Java程序的保护更加有效。另外,我们经常还需要使用其它的相关安全技术,例如安全认证、数字签名、PKI等。
本文给出的例子是一个Java应用程序,它是一个SCJP(Sun Certificate Java
Programmer)的模拟考试软件。该应用程序带有大量的模拟题目,所有的题目都被加密后存储在文件中。由于它所带的题库是该软件的核心部分,所以关
于题库的存取和访问就成为非常核心的类。一旦这些相关的类被反编译,则所有的题库将被破解。现在,我们来考虑如何保护这些题库及相关的类。
在这个例子中,我们考虑使用综合保护技术,其中包括本地代码和混淆技术。因为该软件主要发布在Windows上,因此转换成本地代码后,仅仅需要维护一个版本的本地代码。另外,混淆对Java程序也是非常有效的,适用于这种独立发布的应用系统。
在具体的方案中,我们将程序分为两个部分,一个是由本地代码编写的题库访问的模块,另外一个是由Java开发的其它模块。这样可以更高程度地保护题目管理模块不被反编译。对于Java开发的模块,我们仍然要使用混淆技术。该方案的示意图参见图7。
图7 SCJP保护技术方案图
对于题目管理模块,由于程序主要在Windows下使用,所以使用C++开发题库访问模块,并且提供了一定的访问接口。为了保护题库访问的接口,我们还增加了一个初始化接口,用于每次使用题库访问接口之前的初始化工作。它的接口主要分为两类:
1. 初始化接口
在使用题库模块之前,我们必须先调用初始化接口。在调用该接口时,客户端需要提供一个随机数作为参数。题库管理模块和客户端通过这个随机数,按
一定的算法同时生成相同的SessionKey,用于加密以后输入和输出的所有数据。通过这种方式,只有授权(有效)的客户端才能够连接正确的连接,生成
正确的SessionKey,用于访问题库信息。非法的客户很难生成正确的SessionKey,因此无法获得题库的信息。如果需要建立更高的保密级别,
也可以采用双向认证技术。
2. 数据访问接口
认证完成之后,客户端就可以正常的访问题库数据。但是,输入和输出的数据都是由SessionKey所加密的数据。因此,只有正确的题库管理模块才能够使用题库管理模块。图8时序图表示了题库管理模块和其它部分的交互过程。
图8 题库管理模块和其它部分的交互过程图

B. RHEL源码安装的ssh在启用pam后无法登录,求解决办法。

# vi /etc/pam.d/sshd
增加
auth required pam_tally.so deny=3 (deny=N为登录失败N次后锁定用户)
看设置只要这样就可以了

C. 我想学SSH框架 但不知道需要什么编译工具啊

在MyEclipse8,.5版中自带了SSH,在这样的开发平台中编译可以自动完成.
建议先看看视频再实际动手操作.
可以加载一些插件来完成编译工作 如fatjar 容易上手
另外,ant是使用频度很高的编译工具.但需要一定的基础才能用好.

D. 升级openssh出错,求大神指点怎么解决

一、环境描述
1)操作系统:CentOS 6.5 64位
2)Openssl升级前版本:openssl 0.9.8e
3)Openssl升级后版本:openssl 1.0.1j(源码安装)

4)Openssh升级前版本:openssh-4.3p2-41.el5
5)Openssh升级后版本:openssh_6.7p1(源码安装)
6)连接工具SecureCrt
二、安装Dropbear代替OpenSSH

安装dropbear只是为了在升级失败sshd启动不起来时,依然可以登录系统。也可以用其他工具代替,比如telnet

1)下载dropbear安装包
https://matt.ucc.asn.au/dropbear/releases/dropbear-2014.66.tar.bz2
2)检查安装依赖包

rpm -qa zlib* gcc make
3)编译安装dropbear
# tar jxf dropbear-2014.66.tar.bz2
# cd dropbear-2014.66
# ./configure
# make && make install

检查生成的文件是否正确:

4)生成证书
# /usr/local/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key (注:系统默认是没有/etc/dropbear 目录的需要自行到创建)
# /usr/local/bin/dropbearkey -t rsa -s 4096 -f /etc/dropbear/dropbear_rsa_host_key

5)启动dropbear
# /usr/local/sbin/dropbear -p 2222 //监听2222端口
查看是否启动成功:

三、升级OpenSSL到openssl-1.0.1j,并删除老版本
1)升级前准备
下载openssl-1.0.1j
http://www.openssl.org/source/openssl-1.0.1j.tar.gz
2)删除旧版本

#rpm -e `rpm -qa | grep openssl` --allmatches --nodeps
3)安装openssl, 一定记得加上--shared选项, 否则openssh编译的时候会找不到新安装的openssl的library, 会报错: openssl的 header和library版本不匹配
(注:这里LZ纠结了很久,如果按照步骤执行./config --prefix=/usr --shared 依然报错: openssl的 header和library版本不匹配,很可能是由于之前安装的Openssl也是源码安装的,而且没有删除干净,需要手工搜索ssl相关的文件
1.执行find / -name ssl
2.将搜索结果中/usr/lib /usr/lib64 /lib64 /lib等目录下的结果逐一重命名,千万不要乱删除,逐一尝试。这是个笨办法,目前还没有发现啥比较好的办法。)
# ./config --prefix=/usr --shared
# make
# make test
# make install

完毕后查看openssl版本安装是否正确
# openssl version -a

四、升级sshd到OpenSSH-6.7并删除老版本ssh
1)升级前准备
查看是否缺包

# rpm -qa | egrep "gcc|make|perl|pam|pam-devel"

如果有配置yum了的话可以直接yum安装这些包,这样既可以检验是否装了,没装的直接装上。
yum -y install gcc* make perl pam pam-devel

2)下载openssh-6.7p1.tar.gz
http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-6.7p1.tar.gz
备份ssh :
# mv /etc/ssh /etc/ssh.bak
# openssl version -a

3)编译安装新版本openssh
# tar zxf openssh-6.7p1.tar.gz && cd openssh-6.7p1
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords
# make
先卸载完旧版本的openssh,再make install
# rpm -qa | grep openssh
# rpm -e `rpm -qa | grep openssh`

Openssh-askpass是用于图形界面下输入口令的,用不着可以不装
# make install
4)查看是否升级到新版本

5)复制启动脚本到/etc/init.d
# cp /root/openssh-6.7p1/contrib/RedHat/sshd.init /etc/init.d/sshd
加入开机自启
# chkconfig --add sshd

6)启动sshd,用start或reload。不要restart,restart 会直接断开连接,而并不会接着启动sshd服务,这时候要通过其他途径进入机器,然后启动sshd服务才行。

四、删除dropbear。
终端软件里再重新打开一个标签,
在这里Dropbear用来防止升级不成功,用来替代openssh连接服务器。
在开启2222端口(dropbear启动时的端口,可以设置别的 )的情况下,通过xshell连接的方法是:
ssh 192.168.0.1 2222 (192.168.0.1为需要连接的服务器ip)

删除dropbear安装的文件,并杀掉进程
# rm -rf /etc/dropbear/ /usr/local/sbin/dropbear /usr/local/bin/dropbear*

E. 虚拟机的linux安装的SSH,怎么配置吖,求详细的方法,详细

(SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。SSH有两个版本,我们现在介绍的是版本2。) 安装SSH 具体步骤如下: 获得SSH软件包。 ( ftp://ftp.pku.e.cn :/pub/unix/ssh-2.3.0.tar.gz ) 成为超级用户(root). # gzip ?cd ssh-2.3.0.tar.gz |tar xvf ? # cd ssh-2.3.0 # ./configure 注意,如果你希望用tcp_wrappers来控制SSH,那么在configure时需要加上选项“--with-libwrap=/path/to/libwrap/”, 用来告诉SSH关于libwrap.a 和tcpd.h的位置。 # make # make install 和SSH有关的程序都放置在/usr/local/bin下,包括ssh,sftp,sshd2, ssh-keygen等。 二、配置 SSH的配置文件在/etc/ssh2下,其中包括sshd2的主机公钥和私钥:hostkey和hostkey.pub。这两个文件通常是在安装SSH时自动生成的。你可以通过下面的命令重新来生成它们: # rm /etc/ssh2/hostkey* # ssh-keygen2 ?P /etc/ssh2/hostkey 而ssh2_config 文件一般情形下无需修改。 三、启动sshd2 每个要使用SSH的系统都必须在后台运行sshd2。用手工启动: # /usr/local/sbin/sshd2& 可以在“/etc/rc2.d/SArrayArraylocal”中加入该命令,这样系统每次启动时会自动启动sshd2。 四、用tcp_wrappers控制SSH 安装SSH的站点可以用tcp_wrappers来限制哪些IP地址可以通过ssh来访问自己。比如,在/etc/hosts.allow中加入 sshd,sshd2: 10.0.0.1 那么只有10.0.0.1可以通过ssh来访问该主机。 以上都是系统管理员完成的工作。下面我们说说普通用户如何使用SSH。 五、基本应用 每个用户在使用SSH之前,都要完成以下步骤: 在本地主机(比如,local.pku.e.cn)上生成自己的ssh公钥和私钥。命令如下: local# ssh-keygen Generating 1024-bit dsa key pair 1 oOo.oOo.o Key generated. 1024-bit dsa, teng@ns, Fri Oct 20 2000 17:27:05 Passphrase :************ /*在此输入你的口令,以后访问这台主机时要用。 Again :************ /* Private key saved to /home1/teng/.ssh2/id_dsa_1024_a Public key saved to /home1/teng/.ssh2/id_dsa_1024_a.pub 生成的私钥和公钥(id_dsa_1024_a和id_dsa_1024_a.pub)存放在你家目录的~/.ssh2目录下。和用户相关的SSH配置文件都在~/.ssh2下。私钥由用户保存在本地主机上,而公钥需传送到远地主机的你自己的帐号的~/.ssh2下,如果你要用ssh2访问本地主机的话。 在~/.ssh2下创建“identification”文件用来说明进行身份认证的私钥。命令如下: local:~/.ssh2# echo "IdKey id_dsa_1024_a" > identification 3.同样地,在远地主机(比如,remote.pku.e.cn)上完成上面步骤。 4.将本地(local.pku.e.cn)下你自己(这里是“teng”)的公钥(id_dsa_1024_a.pub)拷贝到远地主机(remote.pku.e.cn)上你自己家目录下的.ssh2目录下,可命名为“local.pub”,一般用ftp上传即可。 在远地主机上,你自己家目录的.ssh2目录下,创建“authorization”文件,其中指定用来进行身份认证的公钥文件。命令如下: remote:~/.ssh2# echo “Key local.pub” > authorization 现在你可以从本地用ssh2登录到远地系统了。命令如下: local# ssh remote.pku.e.cn Passphrase for key "/home1/teng/.ssh2/id_dsa_1024_a" with comment "1024-bit dsa, teng@ns, Fri Oct 20 2000 17:27:05":*********** 这时会要你输入你的ssh口令(Passphrase)。验证通过后,即登录到remote主机上。 ################################################################################ 1、环境: 因为我们选用的SSH服务器是 http://www.ssh.com 的SSH Secure Shell for unix类产品,所以我们主要介绍一下此类的Ssh服务器的安装过程。(SSH有两个版本,我们现在介绍的是版本2;Openssh就不介绍了,大家有兴趣的话可以参考一下网上文章) 2、编译安装 我们前面介绍过,现在的Ssh server for unix 类的最新版本是ssh-3.2.Array-1,我建议大家用官方提供的TAR包,当然,如果你不熟悉编译过程,用RPM等安装方式也是可以的。如果用RPM安装,请先下载ssh-3.2.Array-1.i386.rpm , 大家可以到以下地址下载: http://ftp.ssh.com/priv/secureshell/32Arraywks+srv-lt4Arrayldrk/linux/ssh-3.2.Array-1.i386.rpm 安装时请用管理员权限 # rpm ?ivh ssh-3.2.Array-1.i386.rpm 如果是升级安装那参数就用 ?Uvh 而3.2.Array-1的TAR包大家可以到 http://downloads.planetmirror.com/pub/ssh/ssh-3.2.Array.1.tar.gz 下载。安装时也使用管理员权限: # tar xzvf ssh-3.2.Array.1.tar.gz # cd ssh-3.2.Array.1 # ./configure (这里我们要说明一下,原来有些文档写如果你希望用tcp_wrappers来控制SSH,那么在configure时需要加上选项“--with-libwrap=/path/to/libwrap/”, 用来告诉SSH关于libwrap.a 和tcpd.h的位置,但3.2.0以上的SSH已经不需要这么麻烦了,它们已经内置了控制访问权限的功能。) # make ; make install ; make clean 这样就结束了安装。 3、简单配置Ssh server 无论你是用RPM或TAR包安装的ssh server,它的配置文件都在/etc/ssh2/sshd2_config,安装完后一般不用配置它,但如果你的22端口在安装ssh server之前已经被其他程序占用,那么你需要简单的配置一下这个文件,执行 vi /etc/ssh2/sshd2_config,找到第27行,Port 22 ,把22改成其他的端口就可以了。 4、启动Ssh server Ssh server 的默认启动文件是/usr/local/sbin/sshd2,而安装程序自动做了一个连接到这个文件的名字为sshd的文件,我们只要在/usr/local/sbin/目录中执行 ./sshd & 就可以简单的启用Ssh server,然后我们执行 # netstat ?na 会看见22端口已经被监听了(你的可能是其他端口,具体看你在sshd2_config文件中的设置了。)但我们不想每次都要手动启动Ssh server,那么我们可以修改一下/etc/rc.d/rc.local文件,在这个文件的最后加入以下内容: #start ssh /usr/local/sbin/sshd & 其中第一行为注释内容,第二行为启动SSH服务器并作为后台守护进程运行。 这样就好了,系统重起时可以自动启动SSH服务,但是启动后你如果在服务器端插上 显示器 ,会在最后该登陆的时候看到一行字,意思就是Ssh server 服务启动了,我比较挑剔,不想看到这个提示,而且我想把Ssh服务放到LINUX服务启动过程中,这样比较美观一点。那么我们就不能修改/etc/rc.d/rc.local文件,我们要进入/etc/init.d/中建立一个SHELL文件,名字就叫sshd 内容如下: #!/bin/bash cd /usr/local/sbin ./sshd & 然后给这个文件加上可执行权限 # chmod +x sshd 然后进入/etc/rc3.d,做一个软链接文件 # cd /etc/rc3.d # ln -s ../init.d/sshd S13sshd 这样就达到了我的要求,好了,Ssh server的安装就介绍到这里吧,安装是很简单的,希望大家编译安装成功。

F. 怎么用vnc升级openssh

1、操作方法

1)升级openssh可能会导致ssh无法使用,因此需保证服务器的telnet可以使用。以免ssh无法使用时,连不上设备。

在前期做linux主机基线整改时禁用了telnet服务,查看当时整改时的脚本,发现禁用telnet服务是通过修改/etc/services文件,在telnet
23/tcp前加#实现的。删掉前面的#并通过service xinetd
start启动telnet服务后,发现仍然无法telnet服务器。提示如下:

Unencrypted
connection refused. Goodbye.

Connection closed
by foreign host.

搜寻解决方法。有人说ekrb5-telnet是一个需要加密的telnet服务,把这个服务启动上需要加密,将/etc/xinetd.d/ekrb5-telnet里面的disable改成=yes,再重启telnet服务service xinetd
restart就可以了,如果 ekrb5-telnet里面的disable=yes出现修改后又变回no的情况,执行
chkconfig ekrb5-telnet off可将其禁用。

尝试后发现可以telnet了。

2)在openssl的官网http://www.openssh.com/portable.html上下载最新openssl 1.0.1l版本的安装包,在openssh的官网http://www.openssh.com/portable.html上下载最新openssh 6.7p1的安装包。并通过ftp传到服务器上。

3)安装openssl

tar -zxvf
openssl-1.0.1l.tar.gz 解压openssl的安装包

cd
openssl-1.0.1l 进入解压的目录

./config
--prefix=/usr/local --shared

make

make
test

make
install

安装完毕后通过openssl version -a
查看openssl版本安装是否正确

4)安装openssh

tar -zxvf
openssh-6.7p1.tar.gz 解压openssh的安装包

cd
openssh-6.7p1 进入解压的目录

./config
--prefix=/usr/local --with-pam --with-zlib
--with-md5-passwords

make

make
install

安装完毕后service sshd restart 重启ssh服务

通过ssh -V查看openssh版本安装是否正确

2、注意事项

1)安装openssl时./config
--prefix=/usr/local --shared这一条命令一定要加上--shared选项,否则openssh编译的时候会找不到新安装的openssl的library,
会报错: openssl的 header和library版本不匹配。

2)安装openssl时make
test这一步是进行 SSL 加密协议的完整测试,如果出现错误就要一定先找出原因,否则一味继续可能导致 SSH 不能使用。

3)安装openssh,./config时,如报下面错误:configure: error: PAM headers not
found

运行rpm -qa
| grep pam

pam_ccreds-3-5

pam-0.99.6.2-4.el5

pam_pkcs11-0.5.3-23

pam_passwdqc-1.0.2-1.2.2

pam_smb-1.1.7-7.2.1

pam_krb5-2.2.14-10

发现有pam-0.99.6.2-4.el5,但没有对应的pam-devel-0.99.6.2-4.el5。

在网上找到pam-devel-0.99.6.2-4.el5.i386.rpm,我是在http://rpm.pbone.net/这个网站上搜索到rpm包,如果要找其他的rpm包,也可以在这个网站上找。

运行rpm -ivh
pam-devel-0.99.6.2-4.el5.i386.rpm进行安装。

安装完毕后再进行openssh的./config,正常。

4)安装完openssh,测试能正常ssh到服务器后,记得将telnet服务关闭,修改/etc/services文件,在telnet 23/tcp前加上#即可

G. 关于c++通过ssh在远程计算机上编译

必须 将你的库,同样到你所要ssh的服务器上面,然后编译,因为编译所需库,必须在你的源码所在的服务器上面

H. SSH怎么用.详细点.

抓回SSHWinClient-3.0.0.exe, 安装 SSHWinClient Step by Step:1. 执行 Secure Shell Client ﹝开始 / 程序集 / SSH Secure Shell / Secure Shell Client﹞ 2. 按 Enter 开启联机, 输入主机名称, 帐号 3. 如果是第一次联机到该主机, 系统会询问是否将此主机加入内部数据库 4. 输入密码 5. 联机成功 建议进行下列设定动作: (Edit->Settings) Profile Settings->Connection, Terminal Answerback 设成 xterm Global Settings->Appearance->Font, Fixedsys, 12 Global Settings->Appearance->Colors, Foreground 设成 Silver; Background 设成 Black 在UNIX Client 端 抓回ssh-1.2.31.tar.gz 或 ssh-2.4.0.tar.gz (或 ssh-3.0.1.tar.gz) 编译Server 与 Client 执行档 (需 root privilege): ssh1: sh configure --with-x --with-libwrap --with-etcdir=/etc/ssh1 make depend all install ssh2: sh configure --with-x --with-libwrap make all install 只编译 Client 执行档 (不需 root privilege): ssh1: sh configure make depend all mkdir -p $HOME/ssh for files in scp ssh ssh-add ssh-agent ssh-askpass ssh-keygen; do install -m 700 -s $files $HOME/ssh/${files}1 done (为了跟 ssh2 有所区分, 所以把执行档改名成 ssh1) ssh2: sh configure make all for files in `find apps -name s\*2` ; do files2=`basename $files | tr -d '[2]'` install -m 700 -s $files $HOME/ssh/${files2} done 联机 执行[email protected], 或是ssh -lfractal.ee.ntu.e.tw 第二:配置好Struts ,Spring ,Hibernate这三个开源框架的开发环境配置。鉴于简单起见可以使用MyEclipse6.0 的IDE这样三种开源框架的配置文件IDE已经集成好,直接添加就可以是要用。

I. centos 使用源码更新openssh,ssh配置文件不能重写覆盖导致更新失败问题

控制台登录把sshd服务停掉:service sshd stop

把文件mv备份: mv /usr/bin/sshd /usr/bin/sshd.old ; mv /usr/etc/sshd_config /usr/etc/sshd_config.old
然后make install

阅读全文

与ssh编译withpam相关的资料

热点内容
职业生涯pdf 浏览:954
ubuntu安装软件php 浏览:159
黑马程序员退学流程 浏览:362
网页服务器崩溃怎么回事 浏览:651
cnc编程前景怎么样 浏览:320
lniux命令详解 浏览:494
linuxmysql查询日志 浏览:369
老捷达伙伴压缩比 浏览:94
改后缀加密 浏览:433
邮局选址问题算法 浏览:15
河北服务器内存云主机 浏览:13
在电脑上怎么找到加密狗图标 浏览:437
电脑的浏览器怎么打开pdf文件怎么打开 浏览:144
pdf卡片库下载 浏览:13
单片机中二进制表示什么 浏览:726
java网络编程推荐 浏览:797
施耐德开关编程 浏览:68
组织胚胎学pdf 浏览:846
linux查看发包 浏览:497
加密货币交易所暴利时代 浏览:826