背景
新装的UBUNTU 14.04.5 LTS i686
版本,可VNC
连接。
已安装openssl 1.0.1f
版本,未安装zlib和openssl。
现需要安装openssh用于远程连接,停用vnc。
注意事项
安装openssh主要依赖zlib和openssl,出于安全考虑,建议均安装官方发布的最新稳定版本。
openssh 7.7p1要求openssl版本小于1.1.0。
下载均建议从官方网站下载,不建议从第三方渠道下载。
zlib官方地址点击访问
openssl官方地址点击访问
openssh官方地址点击访问
均选择源码的tar.gz包下载。
安装
首先安装zlib和openssl,最后安装openssh。
安装zlib
1 | tar -zxvf zlib-1.2.11.tar.gz |
安装openssl
1 | tar -zxvf openssl-1.0.2n.tar.gz |
由于系统原来存在openssl其他版本,备份原版本。mv /usr/bin/openssl /usr/bin/openssl.old
新建软链接(路径根据make install
结果可以看到,根据实际情况创建即可)1
2
3ln -s /usr/local/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/bin/openssl /usr/local/bin/openssl
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
同时需要更新openssl动态库目录(此处目录路径需根据实际情况调整)echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
更新库目录缓存ldconfig -v
确认openssl版本openssl version
安装openssh
configure时候需要指定openssl安装目录,防止openssh无法找到。1
2
3
4
5tar zxvf openssh-7.7p1.tar.gz
cd openssh-7.7p1
./configure --with-ssl-dir=/usr/local/ssl
make
make install
若make install
时出现下面错误信息1
2Privilege separation user sshd does not exist
make: [check-config] Error 255 (ignored)
需要在/etc/passwd
中添加sshd
用户。1
2vi /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
然后重新make install
即可。
此处报错是Privilege separation
(特权分离),是openssh的一种安全机制。
配置
sshd服务启动
/usr/local/sbin/sshd
开机自启动
由于编译安装,ssh未添加至系统服务,故为防止重启之后无法连接,添加开机自启动。sed -i '$i\/usr/local/sbin/sshd' /etc/rc.local