Linux服务笔记之二:SSH远程登陆

上次,写了用传统的telnet方法来远程管理服务器。今天,写下如何用SSH(Secure SHELL)协议来远程管理服务器。优势:由于SSH基于成熟的公钥加密体系,因此传输的数据会进行加密,保证数据在传输的时候,不被篡改及泄露,从而提升了系统的安全性。

Linux下普遍地使用OpenSSH程序来实现SSH协议。这个在Red Hat9.0环境下,默认地安装了。查询是否被安装下或者查询安装了哪一种版本,使用以下命令:

[root@localhost root]# rpm -qa | grep ssh
openssh-3.5p1-6
openssh-server-3.5p1-6                                         //服务器组件
openssh-askpass-gnome-3.5p1-6
openssh-clients-3.5p1-6                                        //客户端组件
openssh-askpass-3.5p1-6

若是,没有安装。能够手动地在Linux安装盘,找到相应的RPM组件,进行安装(服务器组件是必顺的,其它的能够选择性地安装)

这样,咱们就能够在windows窗口下,使用putty这个软件来测试。



链接后,要求用户核对是否要链接的服务器的一致。



若是公钥获得了承认,单击是。putty程序将服务器的公仴保存到注册表中,下次登陆的时候就再也不有此提示了。



成功了,咱们能够经过抓包软件来试试,看数据是否是用密文来传送的。



从这里看不到传送的数据的内容。上一篇: Linux服务笔记之一:Telnet远程登陆   能够清楚地看到用户名和密码。

也能够用linux主机远程登陆SSH服务器,须要安装openssh-clients程序软件包。



OpenSSH服务器的主要配置文件为/etc/ssh/sshd_config,几乎全部的配置信息都在此文件中,一些经常使用的设置。

[root@localhost root]# vi /etc/ssh/sshd_config
.......                                                                                                                                                   
#Port 22                                                         //端口号  
#Protocol 2,1                                                 //默认支持版本1和2
#ListenAddress 0.0.0.0                               //监听全部网络接口地址
#ListenAddress ::
#PermitRootLogin yes                                     //容许root用户登陆
......
#PasswordAuthentication yes                           //是否容许密码验证
#PermitEmptyPasswords no                              //是否容许密码为空

若是,要在服务器下启用公钥认证,编辑这个/etc/ssh/sshd_config配置文件,找到"PasswordAuthentication yes"改成no,就能够了。

PS:修改了配置文件/etc/ssh/sshd_config,须要从新启动SSH服务,来使配置文件生效。

经过PuTTYgen能够产生密钥(RSA和DSA)的工具


                 
密钥生成后,出于安全性的考虑。须要输入保护私钥的口令Key passphrase



保存公钥为public key(public.pub),私钥为private key(private.ppk)
而后,把公钥传到SSH服务器里面,私钥放到putty。

puttygen产生的公钥与OpenSSH格式不一样,须要自带的ssh-keygen来进行转换。

ssh-keygen -i -f /root/public.pub > /root/.ssh/authorized_keys



链接后,服务器要求输入用户名。若是使用了保护私钥的口令保护,会提示输入口令。期间,不须要输入用户名的口令。

相关文章
相关标签/搜索