1.Solaris 源码10安装和配置SSH
2.Solaris8安装OPENSSH方法
Solaris 10安装和配置SSH
安装步骤
第一步:获得安装包去SUN的自由软件网站ftp://ftp.sunfreeware.com/pub/freeware/sparc/下载SSH软件包从该网站可以获得软件安装包,对于SPARC系统openssh-4.3p1-sol-sparc-local.gzopenssh-4.3p2-sol-sparc-local.gzopenssl-0.9.8a-sol-sparc-local.gztcp_wrappers-7.6-sol-sparc-local.gz(可选,安装但推荐安装)zlib-1.2.3-sol-sparc-local.gzlibgcc-3.3-sol-sparc-local.gzperl-5.6.1-sol8-sparc-local.gz (可选)prngd-0.9.-sol-sparc-local.gz(可选)egd-0.8-sol8-sparc-local.gz (可选)假如你已经安装了其中一些软件包的源码话,可以跳过下载,安装但是源码建议下载最新软件包。 第二步:安装软件包文件下载完之后,安装感人表白源码进入下载目录并运行如下命令(此以sparc系统为例,源码如是安装Intel系统,换为Intel文件即可):# gunzip openssh-4.3p1-sol-sparc-local.gz# gunzip openssh-4.3p2-sol-sparc-local.gz# gunzip openssl-0.9.8a-sol-sparc-local.gz# gunzip zlib-1.2.3-sol-sparc-local.gz# gunzip libgcc-3.3-sol-sparc-local.gz (假如你还未安装gcc 3.3)# gunzip tcp_wrappers-7.6-sol-sparc-local.gz (可选)其他可选包也可同样操作,源码然后用root权限运行如下命令# pkgadd -d openssh-4.3p1-sol-sparc-local# pkgadd -d openssh-4.3p2-sol-sparc-local# pkgadd -d openssl-0.9.8a-sol-sparc-local# pkgadd -d zlib-1.2.3-sol-sparc-local# pkgadd -d libgcc-3.3-sol-sparc-local (假如你还未安装gcc 3.3)# pkgadd -d tcp_wrappers-7.6-sol-sparc-local (可选)安装过程中对于所有的安装交互提示信息均输入y。 一旦你已经安装了以上包后,源码在目录/usr/local下你将得到很多子目录。安装共享旅游源码ssl文件的源码默认路径是/usr/local/ssl。当这些文件被编译为不将目录(/usr/local/lib和/usr/local/ssl/lib)加入LD_LIBRARY_PATH,安装那可能将需要设置它们。源码现在你将可以在目录/usr/local/bin中找到ssh在目录/usr/local/sbin中找到sshd。确定你将目录/usr/local/bin和目录/usr/local/sbin加到了PATH环境变量中。在可选的egd包中的perl脚本程序(.pl后缀)将要在目录/usr/local/bin中寻找perl。假如你使用的是Sun Perl,那么Perl脚本程序开头改为/usr/bin,然而使用安装包的为/usr/local/bin 第三步:建立sshd用户和/var/empty目录openssh 4.3p1中采用了一种新的安全方式被称为特权分隔。具体内容你可以查看在openssh的源文件目录中的README.privsep文件。现在这种方式在openssh中为默认设置。sentinel 限流源码在进行之前你应该阅读一下README.privsep文件,然后在用root权限执行这些步骤:# mkdir /var/empty# chown root:sys /var/empty# chmod /var/empty# groupadd sshd# useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd/var/empty 不应该包含任何文件.假如你没有做这一步并试图启动sshd的话,你将得到error信息并且守护进程不会运行。 第四步:安装tcp_wrapperstcp_wrappers是被用来限制某些有限组机器访问你的通信端口,例如sshd程序使用的端口。假如你已经运行了tcp_wrappers,那么你只要确定sshd守护进程条目是否在/etc/hosts.allow和/etc/hosts.deny文件中。假如你当前没有运行tcp_wrappers,你首先应该创建文件/etc/hosts.deny并在文件中加入一行sshd:ALL 然后,创建文件/etc/hosts.allow并加入一行,例如sshd:..."..."处填写你允许与你的cf源码来源机器通信的IP列表,例如sshd:...此例说明允许...子网的机器访问你的机器。 第五步:安装ssh和sshd这是最后一步。每一台你想通过ssh客户端进行通信的机器都需要运行一个sshd守护进程。但是首先,你需要在服务器机器上运行下面的命令来创建秘钥信息。再次确定目录/usr/local/bin和/usr/local/sbin是否在你的PATH中。假如你以前曾经运行过sshd并且在/usr/local/etc下有秘钥,那么运行下面这些命令将会覆盖它们。用root权限,输入:# ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N ""# ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N ""# ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N ""每一条命令可能要花费几分钟的事件,这取决于你机器的spring源码入手速度。等到每条命令结束为止。完成之后,在远端主机上也执行上述命令创建公共密钥和私有密钥。如果使远端的服务器访问本主机,就需要把本主机的公共密钥ftp到远端中。例如:把本主机的公共密钥ftp到远端主机的目录“/usr/local/etc”中/usr/local/etc/ssh_host_key.pub/usr/local/etc/ssh_host_dsa_key.pub/usr/local/etc/ssh_host_rsa_key.pub我们创建脚本来启动sshd守护进程。下面编辑一个简单的启动脚本,并把它放置在/etc/init.d目录下(root权限): #!/bin/shpid=`/usr/bin/ps -e | /usr/bin/grep sshd | /usr/bin/sed -e 's/^ *//' -e 's/ .*//'`case $1 in'start')/usr/local/sbin/sshd;;'stop')if [ "${ pid}" !="" ]then/usr/bin/kill ${ pid}fi;;*)echo "usage: /etc/init.d/sshd { start|stop}";;esac然后运行如下命令:# chown root /etc/init.d/sshd# chgrp sys /etc/init.d/sshd# chmod /etc/init.d/sshd# ln -s /etc/init.d/sshd /etc/rc2.d/Ssshd# /etc/rc2.d/Ssshd start 通过上面这条命令可以手工启动进程# /etc/rc2.d/Ssshd stop此条命令将停止sshd守护进程# ps -e | grep sshd此条命令可以查看是否启动了sshd至此完成了ssh的安装。 可以从远端主机访问该主机,方法如下:# ssh root@NSecondary然后输入密码即可或者使用IP地址方式访问# ssh root@...使用主机名称时,需要在/etc/hosts里面配置双方服务器的IP地址和主机名称的对应关系。 如何实现不输入密码访问远端主机?如下的local指当前主机,remote指要访问的远端主机首先在local服务器伤执行下面命令local; ssh-keygen -t dsa -f .ssh/id_dsalocal; cd .sshlocal; scp id_dsa.pub user@remote:/.ssh/id_dsa.publocal; ssh user@remoteremote; cd .sshremote; cat id_dsa.pub ;; authorized_keys2remote; chmod authorized_keys2remote; rm id_dsa.pubremote; exit修改文件/usr/local/etc/sshd_config,把其中“PasswordAuthentication yes”所在行的注释去掉,然后再把后面的yes修改为no,修改后重新启动一下sshd进程。然后可以直接访问另外一个服务器,操作如下:# PasswordAuthentication, PermitEmptyPasswords, androot@NPrimary # ssh NSecondary iostat -E|grep SizeSize: .GB bytesSize: .GB bytesSize: .GB bytesSize: 0.GB bytesSize: .GB bytesroot@NPrimary # iostat -E|grep SizeSize: .GB bytesSize: .GB bytesSize: .GB bytesSize: 0.GB 0 bytesSize: .GB bytes
Solaris8安装OPENSSH方法
在Solaris8上安装OPENSSH注:得到Solaris 8的random补丁PRNG is not seeded这个问题所困扰 下面是我的解决办法
首先要保证openssh所要求的包你都安装了
A、sun的patch -
其实这个patch安装了有时也没有用 打这个patch的目的是因为8默认没有一个随机数设备
安装这个patch就是为解决这个问题 但从实际使用情况来看,没有什么用 所以建议不要安装。
以上这步我没有做,不过先留在这里吧!1、安装一个第3方的软件 ANDIrand-0.7-5.8-sparc-1.pkg
安装了这个软件之后,会在/dev/目录下生成2个随机数设备
random urandom
安装之后不用重起
这时你在起 openssh 就会正常了
这个软件的下载地址
for 2.6
/indexsparc8.html下载)
openssh-3.5p1-sol8-sparc-local.gz
openssl-0.9.6g-sol8-sparc-local.gz
tcp_wrappers-7.6-sol8-sparc-local.gz (可选,但推荐安装)
zlib-1.1.4-sol8-sparc-local.gz
libgcc-3.2-sol8-sparc-local.gz
perl-5.6.1-sol8-sparc-local.gz (可选)
prngd-0.9.-sol8-sparc-local.gz (可选) 这个我没有装
egd-0.8-sol8-sparc-local.gz (可选) 这个我也没装3、安装软件包
# gunzip openssh-3.5p1-sol8-sparc-local.gz
# gunzip openssl-0.9.6g-sol8-sparc-local.gz
# gunzip zlib-1.1.4-sol8-sparc-local.gz
# gunzip libgcc-3.2-sol8-sparc-local.gz (假如你还未安装gcc 3.2)
# gunzip tcp_wrappers-7.6-sol8-sparc-local.gz (可选)
其他可选包也可同样操作,然后用root权限运行如下命令
# pkgadd -d openssh-3.5p1-sol8-sparc-local
# pkgadd -d openssl-0.9.6g-sol8-sparc-local
# pkgadd -d zlib-1.1.4-sol8-sparc-local
# pkgadd -d libgcc-3.2-sol8-sparc-local (假如你还未安装gcc 3.2)
# pkgadd -d tcp_wrappers-7.6-sol8-sparc-local (可选)
一旦你已经安装了以上包后,在目录/usr/local下你将得到很多子目录。ssl文件的默认路径是
/usr/local/ssl。(((当这些文件被编译为不将目录(/usr/local/lib和/usr/local/ssl/lib)加入
LD_LIBRARY_PATH,那可能将需要设置它们。)))***这句话我不理解
现在你将可以在目录/usr/local/bin中找到ssh在目录/usr/local/sbin中找到sshd。确定你将目录/usr/local/bin和目录/usr/local/sbin加到了你的PATH环境变量中。在可选的egd包中的perl脚本程序(.pl后缀)将要在目录/usr/local/bin中
寻找perl。假如你使用的是Sun Perl,那么Perl脚本程序开头改为/usr/bin,然而使用安装包的为/usr/local/bin4、建立sshd用户和/var/empty目录
# mkdir /var/empty
# chown root:sys /var/empty
# chmod /var/empty
# groupadd sshd
# useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd
/var/empty 不应该包含任何文件.5、安装tcp_wrappers
tcp_wrappers是被用来限制某些有限组机器访问你的通信端口,例如sshd程序使用的端口。假如你已经运行了tcp_wrappers,那么你只要确定sshd守护进程条目是否在/etc/hosts.allow和/etc/hosts.deny文件中。假如你当前没有运行tcp_wrappers,你首先应该创建文件/etc/hosts.deny并在文件中加入一行
sshd:ALL
然后,创建文件/etc/hosts.allow并加入一行,例如
sshd:...
"..."处填写你允许与你的机器通信的IP列表,例如
sshd:...
此例说明允许...子网的机器访问你的机器。6、安装ssh和sshd
这是最后一步。每一台你想通过ssh客户端进行通信的机器都需要运行一个sshd守护进程。首先,你需要在服务器机器上运行下面的命令来创建秘钥信息。再次确定目录/usr/local/bin和/usr/local/sbin是否在你的PATH中。假如你以前曾经运行过sshd并且在/usr/local/etc下有秘钥,那么运行下面这些命令将会覆盖它们。用root权限,输入:
# ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N ""
# ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N "" **//"为双引号
# ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N ""
每一条命令可能要花费几分钟的事件,这取决于你机器的速度。等到每条命令结束为止。
完成之后,我们可以创建脚本来启动sshd守护进程。下面编辑一个简单的启动脚本,并把它放置
在/etc/init.d目录下(root权限):
#vi /etc/init.d/sshd
内容如下:
#!/bin/sh
pid=`/usr/bin/ps -e | /usr/bin/grep sshd | /usr/bin/sed -e 's/^ *//' -e 's/ .*//'`case $1 in'start')/usr/local/sbin/sshd
;;
'stop')if [ "${ pid}" !="" ]then
/usr/bin/kill ${ pid}fi;;*)echo "usage:/etc/init.d/sshd { start|stop}";;esac然后运行如下命令:
# chown root /etc/init.d/sshd
# chgrp sys /etc/init.d/sshd
# chmod /etc/init.d/sshd
# ln -s /etc/init.d/sshd /etc/rc2.d/Ssshd
# /etc/rc2.d/Ssshd start
通过上面这条命令可以手工启动进程
# /etc/rc2.d/Ssshd stop
此条命令将停止sshd守护进程
也可以这样启动: /etc/init.d/sshd start
# ps -ef | grep sshd
此条命令可以查看是否启动了sshd
再从某台机使用ssh xx.xx.xx.xx是否能登录