您的位置:首页 > 运维架构

openssh的安装及配置

2006-07-24 14:24 260 查看
ssh是替代telnet,rsh,rcp等远程命令的有效工具,为什么这么说?
因为ssh是采用加密传输,不会造成密码的明文传送,增加了安全性;
再有如果采用密钥的验证方式,即可以去掉输入密码的麻烦,又可以进一步增加系统的安全性。因为密钥才是唯一的验证方式,即使你破解了密码,没有密钥文件也是登陆不了系统的。

注意:使用密钥可以省去输入密码的麻烦;但是密钥千万不要丢失,如果重装系统,需要重新生成密钥。

使用ssh的加密隧道,可以实现一些增值功能,像sftp,scp,rsync,像mail,dns这些都可以使用ssh的隧道。

ssh有两种协议,ssh1和ssh2。这两种是不兼容的。openssh同时支持ssh1和ssh2协议,又因为openssh是完全免费的,现在应用特别广。
相反ssh的开发者,对于ssh1,提供免费;ssh2却需要商业许可证。

如果安装openssh,同时支持ssh1和ssh2;如果安装其他的ssh软件,需要查看文档,都支持哪些协议。
openssh的安装:
下载.tar.gz的安装包,解压后,./configure-->make-->make install.
没有需要特别说明的地方,查看安装文档。

缺省安装后,就可以使用ssh username@hostname登陆,输入正确密码。ok。

如果想采用无密码、密钥的登陆方式,还需要做些设置。
ssh服务器端的配置文件为sshd_cofig,默认在/etc/ssh/目录下。
主要设置服务器都支持哪些选项,比如是否允许root登陆,是否使用密钥等。
ssh客户端的配置文件为ssh_config,默认在/etc/ssh/目录下,主要设置客户端登陆时的一些缺省选项。~/.ssh/config,用户主目录下的.ssh目录的config文件是针对此用户的ssh客户端配置。
再有就是可以在命令行,给ssh客户端指定一些选项。

这三种配置的优先级为命令行参数>>~/.ssh/config>>/etc/ssh/ssh_config。

下面介绍采用无密码,密钥的验证方式思路。
先要在客户端操作:
密钥算法有两种rsa和dsa。
使用ssh-keygen -t dsa生成dsa密钥。
使用ssh-keygen 或者ssh-keygen -d生成ssh1或ssh2协议的rsa密钥。
生成的私钥和公钥都在~/.ssh/下,文件名叫id_dsa和id_dsa.pub,
rsa对应的就叫id_rsa和id_rsa.pub
需要做的就是把公钥拷贝到 服务器端的相同用户主目录的.ssh目录下,并且文件名叫authorized_keys,如果此文件已经存在,并且储存了其他机器的密钥,就需要把.pub文件内容添加进来。
另外还需要把服务器端的密钥验证方式打开。

说明:1.如果想在多台机器上无密码登陆,需要分别给每台机器生成密钥,把公钥添加到服务器端相应用户名下的authorized_keys文件中。
2.密钥文件丢失,或者系统重装后,需要重新制作密钥。
3.windows机器ssh登陆到unix服务器,也可以做无密码密钥登陆。需要使用SecureCRT生成公钥,然后拷贝到ssh服务器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: