在Ubuntu下用apt-get update、apt-get instal ssh老是不成功,报错:E: GPG error: http://extras. precise Release: The following signatures were invalid: NODATA 1 NODATA 2,更换了很多源也没用,无奈之下只有手动安装SSH。 安装之前先来了解一些常识: OpenSSL 是一款开源的 SSL 软件包,采用 SSL 的公开密钥技术,用于实现传输层的通信加密功能。OpenSSL 支持 Linux、Windows、BSD、Mac 等平台,功能强大,包含丰富的密码算法库,SSL 协议库和应用程序。 一、SSL 基本常识 1.1、什么是 SSL? 安全套接层(Secure Sockets Layer,SSL), 最初由 netscape 公司设计,建立在传输层的安全通信协议,采用公开密钥体系的证书认证方式来确保客户端和 SSL 服务器之间的通信安全。 1.2、SSL 认证流程 SSL 客户端在 TCP 连接建立之后,发出一个消息(包含了客户端所支持的算法列表)给服务器端,然后服务器端返回一个数据包(确定了这次通信所需算法)和 SSL 服务器端的证书(包含了公钥)给客户端。客户端随后会用收到的公钥将消息加密再传送,该加密消息只能用 SSL 服务器端私钥解密,即便中途被截取也无法获知内容。 安装步骤如下: 0、查看本机是否装了ssh服务的方法 ps -e |grep ssh 如果只有ssh-agent那ssh-server还没有启动,需要/et c/init.d/ssh start,如果看到sshd那说明ssh-se r ver已经启动了。ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。然后重启SSH服务:sudo /etc/init.d/ssh resar 1、下载相关软件包: zlib-1.2.5.tar.gz openssh-5.6p1.tar.gz openssl-1.0.1c.tar.gz 2、安装zlib-1.2.5.tar.gz: tar -zxvf zlib-1.2.5.tar.gz cd zlib-1.2.5 ./ configure make make install 3、安装openssl: tar -zxvf openssl-1.0.1c.tar.gz ./config --prefix=/usr/local --openssldir=/usr/local/ssl make && make install ./config shared --prefix=/usr/local --openssldir=/usr/local/ssl make clean make && make 4、安装openssh: tar -zxvf openssh-5.6p1.tar.gz ./configure--with-ssl-dir=/usr/local/openssl 这里输入的目录为安装openssl配置的目录 make gedit /etc/passwd 在文件最后一行加入: sshd:x:74:74:Provilege-separatedSSH:/var/empty/sshd:/sbin/nologin 保存后退出 make install 5、启动ssh: /usr/sbin/sshd,/usr/local/sbin/sshd(如果用root用户安装,则用后面的命令) 查看监听端口是否22 netstat –tnlp|grep :22 尝试从本机通过ssh登录 ssh localhost 如果能登录成功说明安装完成 6、设置开机自启动: vi /etc/rc.local 在exit 0 上面写入(这里要注意的是 经过上面几步,发现gedit打不开 rc.local 注销一下 在进入就行了) sudo /usr/sbin/sshd 或sudo /usr/local/sbin/sshd(如果是用root安装 ,就用后面的命令) |
|