OpenSSH-3.6.1p1
介绍OpenSSH
下载地址 (HTTP): http://sunsite.ualberta.ca/pub/OpenBSD/OpenSSH/portable/openssh-3.6.1p1.tar.gz
下载地址 (FTP): ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-3.6.1p1.tar.gz
版本: 3.6.1p1
软件包大小: 855 KB
估计所需硬盘空间: 8.3 MB
OpenSSH软件包中包含ssh客户端和sshd守护进程。它被用于对所有网络上的通信进行加密。
OpenSSH依赖于:
openssl-0.9.7a
OpenSSH将使用到:
X11-ssh-askpass 和 Linux_PAM-0.77
安装OpenSSH
当连接到其它计算机时OpenSSH有两个进程在运行。一个进程是特权级进程,负责控制 必要的特权的发布。另外一个进程负责与网络通信。下面的命令执行了一些设置适当的环境所必须的 附加安装步骤:
mkdir /var/empty &&
chown root:sys /var/empty &&
groupadd sshd &&
useradd -g sshd sshd
用下面的命令安装OpenSSH:
./configure --prefix=/usr --sysconfdir=/etc/ssh \
--libexecdir=/usr/sbin --with-md5-passwords &&
make &&
make install
命令解释
--sysconfigdir=/etc/ssh : 这个参数阻止配置文件被放到 /usr/etc.
--with-md5-passwords : 如果你按照 shadowpasswd_plus lfs 提示在安装 Shadow 密码套件的时候对 ssh 服务器做了改动,或你要连接的 ssh 服务器用户密码是用 md5 来加密的,就一定要这个参数。
--libexecdir=/usr/sbin : OpenSSH 把可执行程序放到 /usr/libexec. 而 sftp-server 是一个 sshd 的工具,ssh-askpass 是一个 ssh-add 工具,是被作为 X11-ssh-askpass 来调用的. 这两个东东都应该放到 /usr/sbin 而不是 /usr/libexec.
配置OpenSSH
配置文件
/etc/ssh/ssh_config, /etc/ssh/sshd_config
我们没有必要修改这些文件。当然,你也可以修改它们来为你的系统设置适当的安全性。 配置信息可以参见sshd, ssh以及ssh-agent的man page。
sshd的init.d脚本
注意只有当你想通过ssh访问你的机器才需要运行sshd服务器。 ssh客户端不需要使用下面的脚本。了解了这些后,如果你想运行ssh守护进程, 可以用下面的命令创建sshd的init.d脚本:
cat > /etc/rc.d/init.d/sshd << "EOF"
#!/bin/sh
# Begin $rc_base/init.d/sshd
# Based on sysklogd script from LFS-3.1 and earlier.
# Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org
source /etc/sysconfig/rc
source $rc_functions
case "$1" in
start)
echo "Starting SSH Server..."
loadproc /usr/sbin/sshd
;;
stop)
echo "Stopping SSH Server..."
killproc /usr/sbin/sshd
;;
reload)
echo "Reloading SSH Server..."
reloadproc /usr/sbin/sshd
;;
restart)
$0 stop
sleep 1
$0 start
;;
status)
statusproc /usr/sbin/sshd
;;
*)
echo "Usage: $0 {start|stop|reload|restart|status}"
exit 1
;;
esac
# End $rc_base/init.d/sshd
EOF
chmod 755 /etc/rc.d/init.d/sshd
用下面的命令在相应的rc.d目录创建符号链接:
cd /etc/rc.d/init.d &&
ln -sf ../init.d/sshd ../rc0.d/K30sshd &&
ln -sf ../init.d/sshd ../rc1.d/K30sshd &&
ln -sf ../init.d/sshd ../rc2.d/K30sshd &&
ln -sf ../init.d/sshd ../rc3.d/S30sshd &&
ln -sf ../init.d/sshd ../rc4.d/S30sshd &&
ln -sf ../init.d/sshd ../rc5.d/S30sshd &&
ln -sf ../init.d/sshd ../rc6.d/K30sshd
内容
OpenSSH软件包中包含 ssh, sshd, ssh-agent, ssh-add, sftp, scp, ssh-keygen, sftp-server 以及 ssh-keyscan。
具体说明
ssh
基本的仿rlogin/rsh客户端程序。
sshd
允许你登录的守护进程。
ssh-agent
一个保存私有密钥的授权代理。
ssh-add
为ssh-agent添加密钥的工具。
sftp
使用SSH1和SSH2协议的类FTP程序。
scp
类似于rcp的文件拷贝程序。
ssh-keygen
密要生成工具。
sftp-server
SFTP服务器子系统。
ssh-keyscan
从一批主机上收集公共主机密钥的工具。
开机后发现ssh连接不上,后来查看是因为ssh服务没有启动的原因,后来我就手动启动可是结果却是无法启动啊,后来发现是因为ssh属主也就是权 限的问题,在Linux下权限是很重要的,后来发现后把ssh目录的属主修改成root后,启动顺利,具体解决问题的步骤,如下:
Linux上的SSH无法启动
报告/var/empty/sshd must be owned by root and not group or world-writable.
解决办法:
首先通过物理终端进入到linux上,手工检查ssh发现没运行
-bash-2.05b# /etc/init.d/sshd status
sshd is stopped
手工启动服务,发现报告权限错误。
-bash-2.05b# /etc/init.d/sshd start
Starting sshd:/var/empty/sshd must be owned by root and not group or world-writable.
[FAILED]
-bash-2.05b#
使用rpm -V 命令可检查到ssh的软件包正常,但某个目录的属主错误。
-bash-2.05b# rpm -V openssh-server
S.5..... c /etc/ssh/sshd_config
.....U.. /var/empty/sshd
-bash-2.05b#
经查看发现这个目录的属主不是root,所以启动ssh报错
-bash-2.05b# ls -ld /var/empty/sshd/
d--x--x--x 2 vu00106 root 1024 Feb 2 2005 /var/empty/sshd/
-bash-2.05b#
修改为root属主,启动成功
-bash-2.05b# chown root /var/empty/sshd/
-bash-2.05b# /etc/init.d/sshd start
Starting sshd: [ OK ]
-bash-2.05b#
至此问题修复。
另外,还可以尝试:
这个是权限的问题
可采取以下两步解决
chown -R root.root /var/empty/sshd
chmod 744 /var/empty/sshd
service sshd restart
就可以解决上述的问题。


xzj4167 于 2010-03-24 14:06:33发表:
:0wpoi2
zhangkun00 于 2010-03-11 16:25:32发表:
不懂了,太专业
leikj 于 2010-03-11 13:22:06发表:
看了头晕.................
yhtjay 于 2010-03-10 10:42:15发表:
有些特殊的设备想要装SSH装那个好?比如,DDWRT的路由器,有些linux系统的VOIP语音网关,如何用SSH远程控制。DDWRT好像自带有,我说的是类似于这种linux设备,如何装SSH?