zoukankan      html  css  js  c++  java
  • 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




    连接后,服务器要求输入用户名。如果使用了保护私钥的口令保护,会提示输入口令。期间,不需要输入用户名的口令。




    本文出自 “懒人学网络” 博客,请务必保留此出处http://445053869.blog.51cto.com/473647/109503

  • 相关阅读:
    Python学习系列之类与对象(二十三)
    面向过程和面向对象的异同点
    js 数值精确运算使用math.js
    js实现复制 、剪切功能-clipboard.min.js 示例
    css div嵌套层中button的margin-top不起作用解决方法
    IPhone中H5页面用on绑定click无效的解决方法
    This is a good start.
    element之input输入搜索联想框
    vue + element-ui 国际化实现
    async/await 处理多个网络请求同步问题
  • 原文地址:https://www.cnblogs.com/xiaOt119/p/2607673.html
Copyright © 2011-2022 走看看