solaris 8 ssh2 配置说明

为了运行OpenSSH,必须创建或者把下面的文件拷贝到相应的目录下:

l 把“sshd_config”文件拷贝到“/etc/ssh”目录下

l 把“ssh_config”文件拷贝到“/etc/ssh”目录下

l 把“ssh”文件拷贝到“/etc/pam.d/”目录下

可以把“floppy.tgz”解压之后,找到上面列出来的文件,并拷贝到合适的目录下,或者用拷贝粘贴的方法从本书中直接粘贴出。

配置“/etc/ssh/ssh_config”文件

“/etc/ssh/ssh_config”文件是OpenSSH系统范围的配置文件,允许你通过设置不同的选项来改变客户端程序的运行方式。这个文件的每一行包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。下面列出来的是最重要的关键词,用man命令查看帮助页(ssh (1))可以得到详细的列表。

编辑“ssh_config”文件(vi /etc/ssh/ssh_config),添加或改变下面的参数:

# Site-wide defaults for various options
Host *
ForwardAgent no
ForwardX11 no
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
FallBackToRsh no
UseRsh no
BatchMode no
CheckHostIP yes
StrictHostKeyChecking no
IdentityFile ~/.ssh/identity
Port 22
Cipher blowfish
EscapeChar ~

下面逐行说明上面的选项设置:

Host *
选项“Host”只对能够匹配后面字串的计算机有效。“*”表示所有的计算机。

ForwardAgent no
“ForwardAgent”设置连接是否经过验证代理(如果存在)转发给远程计算机。

ForwardX11 no
“ForwardX11”设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY set)。

RhostsAuthentication no
“RhostsAuthentication”设置是否使用基于rhosts的安全验证。

RhostsRSAAuthentication no
“RhostsRSAAuthentication”设置是否使用用RSA算法的基于rhosts的安全验证。

RSAAuthentication yes
“RSAAuthentication”设置是否使用RSA算法进行安全验证。

PasswordAuthentication yes
“PasswordAuthentication”设置是否使用口令验证。

FallBackToRsh no
“FallBackToRsh”设置如果用ssh连接出现错误是否自动使用rsh。

UseRsh no
“UseRsh”设置是否在这台计算机上使用“rlogin/rsh”。

BatchMode no
“BatchMode”如果设为“yes”,passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务十分有用。

CheckHostIP yes
“CheckHostIP”设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为“yes”。

StrictHostKeyChecking no
“StrictHostKeyChecking”如果设置成“yes”,ssh就不会自动把计算机的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦计算机的密匙发生了变化,就拒绝连接。

IdentityFile ~/.ssh/identity
“IdentityFile”设置从哪个文件读取用户的RSA安全验证标识。

Port 22
“Port”设置连接到远程主机的端口。

Cipher blowfish
“Cipher”设置加密用的密码。

EscapeChar ~
“EscapeChar”设置escape字符。

配置“/etc/ssh/sshd_config”文件

“/etc/ssh/sshd_config”是OpenSSH的配置文件,允许设置选项改变这个daemon的运行。这个文件的每一行包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。下面列出来的是最重要的关键词,用man命令查看帮助页(sshd (8))可以得到详细的列表。

编辑“sshd_config”文件(vi /etc/ssh/sshd_config),加入或改变下面的参数:

# This is ssh server systemwide configuration file.
Port 22
ListenAddress 192.168.1.1
HostKey /etc/ssh/ssh_host_key
ServerKeyBits 1024
LoginGraceTime 600
KeyRegenerationInterval 3600
PermitRootLogin no
IgnoreRhosts yes
IgnoreUserKnownHosts yes
StrictModes yes
X11Forwarding no
PrintMotd yes
SyslogFacility AUTH
LogLevel INFO
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
PermitEmptyPasswords no
AllowUsers admin

下面逐行说明上面的选项设置:

Port 22
“Port”设置sshd监听的端口号。

ListenAddress 192.168.1.1
“ListenAddress”设置sshd服务器绑定的IP地址。

HostKey /etc/ssh/ssh_host_key

“HostKey”设置包含计算机私人密匙的文件。

ServerKeyBits 1024
“ServerKeyBits”定义服务器密匙的位数。

LoginGraceTime 600
“LoginGraceTime”设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(以秒为单位)。

KeyRegenerationInterval 3600
“KeyRegenerationInterval”设置在多少秒之后自动重新生成服务器的密匙(如果使用密匙)。重新生成密匙是为了防止用盗用的密匙解密被截获的信息。

PermitRootLogin no
“PermitRootLogin”设置root能不能用ssh登录。这个选项一定不要设成“yes”。

IgnoreRhosts yes
“IgnoreRhosts”设置验证的时候是否使用“rhosts”和“shosts”文件。

IgnoreUserKnownHosts yes
“IgnoreUserKnownHosts”设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的“$HOME/.ssh/known_hosts”

StrictModes yes
“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。

X11Forwarding no
“X11Forwarding”设置是否允许X11转发。

PrintMotd yes
“PrintMotd”设置sshd是否在用户登录的时候显示“/etc/motd”中的信息。

SyslogFacility AUTH
“SyslogFacility”设置在记录来自sshd的消息的时候,是否给出“facility code”。

LogLevel INFO
“LogLevel”设置记录sshd日志消息的层次。INFO是一个好的选择。查看sshd的man帮助页,已获取更多的信息。

RhostsAuthentication no
“RhostsAuthentication”设置只用rhosts或“/etc/hosts.equiv”进行安全验证是否已经足够了。

RhostsRSAAuthentication no
“RhostsRSA”设置是否允许用rhosts或“/etc/hosts.equiv”加上RSA进行安全验证。

RSAAuthentication yes
“RSAAuthentication”设置是否允许只有RSA安全验证。

PasswordAuthentication yes
“PasswordAuthentication”设置是否允许口令验证。

PermitEmptyPasswords no
“PermitEmptyPasswords”设置是否允许用口令为空的帐号登录。

AllowUsers admin
“AllowUsers”的后面可以跟着任意的数量的用户名的匹配串(patterns)或user@host这样的匹配串,这些字符串用空格隔开。主机名可以是DNS名或IP地址。

在Solaris8上安装SSH
安装步骤
初始步:得到Solaris 8的random补丁
到112438-01.zip得到补丁,解压补丁包后,根
据补丁目录下的README文件指示安装补丁,要使补丁起效必须重启系统(boot -r)。
然后利用 pkgadd –d 112438-01 这条命令,将整个包加上

第一步:获得安装包
从这你可获得安装包,对于SPARC系统
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.25-sol8-sparc-local.gz (可选)
egd-0.8-sol8-sparc-local.gz (可选)
对于Intel系统:
openssh-3.5p1-sol8-intel-local.gz
openssl-0.9.6g-sol8-intel-local.gz
tcp_wrappers-7.6-sol8-intel-local.gz (可选,但推荐安装)
zlib-1.1.4-sol8-intel-local.gz
libgcc-3.2-sol8-intel-local.gz
perl-5.6.1-sol8-intel-local.gz (可选)
prngd-0.9.25-sol8-intel-local.gz (可选)
egd-0.8-sol8-intel-local.gz (可选)
假如你已经安装了其中一些包的话,可以跳过下载,但是很多包都是最新的。

第二步:安装软件包
文件下载完之后,进入下载目录并运行如下命令(此以sparc系统为例,如是Intel系统,换为
Intel文件即可):
# 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/bin
第三步:建立sshd用户和/var/empty目录
openssh 3.5p1中采用了一种新的安全方式被称为特权分隔。具体内容你可以查看在openssh的源文件目录中的README.privsep文件。现在这种方式在openssh中为默认设置。在进行之前你应该阅读一下README.privsep文件,然后在用root权限执行这些步骤:
# mkdir /var/empty
# chown root:sys /var/empty
# chmod 755 /var/empty
# groupadd sshd
# useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd

/var/empty 不应该包含任何文件.假如你没有做这一步并试图启动sshd的话,你将得到error信息并且守护进程不会运行。

第四步:安装tcp_wrappers
tcp_wrappers是被用来限制某些有限组机器访问你的通信端口,例如sshd程序使用的22端口。假
如你已经运行了tcp_wrappers,那么你只要确定sshd守护进程条目是否在/etc/hosts.allow和
/etc/hosts.deny文件中。假如你当前没有运行tcp_wrappers,你首先应该创建文件
/etc/hosts.deny并在文件中加入一行
sshd:ALL
然后,创建文件/etc/hosts.allow并加入一行,例如
sshd:...
"..."处填写你允许与你的机器通信的IP列表,例如
sshd:202.112.117.
此例说明允许202.112.117.子网的机器访问你的机器。

第五步:安装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权限):

#!/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 555 /etc/init.d/sshd
# ln -s /etc/init.d/sshd /etc/rc2.d/S98sshd

# /etc/rc2.d/S98sshd start
通过上面这条命令可以手工启动进程
# /etc/rc2.d/S98sshd stop
此条命令将停止sshd守护进程
# ps -e | grep sshd
此条命令可以查看是否启动了sshd

至此完成了ssh的安装。

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7180624/viewspace-903081/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7180624/viewspace-903081/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值