美文网首页
Linux (一) SSH 使用

Linux (一) SSH 使用

作者: 茧铭 | 来源:发表于2019-03-20 23:37 被阅读0次

    1、安装

    如果你的服务器上没有ssh服务的话,可以使用以下命令(一般来说购买的阿里云、腾讯云自动就装好了这个)

    yum install openssh-server   (安装过程种我们可以发现openssh-clients 客户端也已经装好了)
    service sshd start                 启动ssh服务
    chkconfig sshd on                设置开机启动
    

    2、连接服务器

    确认安装好ssh并启动后,我们在windows、mac上或者其他linux服务器上通过以下命令便可以连接到这台主机

    ssh root@192.168.0.105   
    root 表示你连接改服务器的用户名
    192.168.0.105 是服务器ip。这个ip不能使用内网ip,如果是本地虚拟机的话,可以将连接方式改为“桥接”的方式。然后用ifconfig查看本机公网ip
    
    ssh连接服务器.png

    3、ssh 的 config 文件

    先展示一下SSH config 语法关键字,如下五个:
    Host 别名
    HostName 主机名
    Port 端口
    User 用户名
    IdentityFile 密钥文件的路径

    这个config的路径在服务的位置是 ~/.ssh/config 如果没有找到这个文件,就在.ssh/文件夹下新建一个

    那么说到这个文件我们怎么用呢?实际上在平时的运维管理中,我们可能管理多台机器,可能是几台、十几台甚至几十上百台。我们将这些服务器配置在config中,方便我们去连接和管理。
    例子如下,我配置了这样(IdentityFile可以暂时不配置,ssh默认端口为22)

    host "KatoUyi"
        HostName 192.168.0.105
        User root
        Port 22
        IdentityFile  ~/.ssh.id_rsa.pub
        IdentitiesOnly  yes
    
    host "NagaSiren"
        HostName 192.168.0.106
        User root
        Port 22
    

    在配置了这个文件之后,我们不需要再通过 ssh root@192.168.0.105 这个命令去连接服务器了,我们可以这么写连接语句 ssh KatoUyi 。这样管理方式在一定程度上简化了我们的操作。

    4、ssh key (SSH安全免密码登录)

    我们需要先了解一些基础
    ssh key使用对称加密的方式生成公钥和私钥
    私钥存放在本地 ~/.ssh 目录下
    公钥可以对外开放,放在服务器的 ~/.ssh/authorized_keys

    在上一节的操作当中,我们发现每次使用ssh连接服务器的时候,都要输入一次密码。密码长了复杂了会很麻烦。我们可以使用ssh key去解决这个麻烦。

    ssh-keygen -t rsa   linux中生成密钥的指令
    
    image.png

    windows中生成密钥:可以在Xshell中也可以达到类似效果,这种方式生成了密钥之后,可以将之保存起来。
    当然也可以通过其他方式例如git bash中用linux指令生成,在这里不详细描述了。


    image.png

    那么我们怎么使用这个生成好的ssh key呢。在Xshell中,我们之前连接服务器,在用户认证窗口使用的是password密码的方式去连接,现在我们切换成Public Key的方式,如下图


    image.png image.png
    实际上,在这个时候连接还少了很重要的一步,会出现 “所选的用户密钥未在远程主机上注册。请再试一次”的错误提示。为了达到免密码的登录过程,我们需要将公钥放置在authorized_keys 这个文件中。
    我们需要先进入linux服务器,将我们选择的这个 id_rsa_2048.pub的内容放置到linux服务器的authorized_keys文件中。这样的话我们再访问就可以无密码连接了。
    无密码连接成功.png



    在linux连接别的linux的服务器的时候怎么做到免密呢?
    首先先将本机的 rsa.pub公钥粘贴到目标服务器的 authorized_keys 中。然后执行以下命令

    ssh-agent bash   下面指令不好使的话先执行这个
    ssh-add  ~/.ssh/私钥    
    
    完成了这个之后,就可以直接用 ssh root@192.168.0.106  直接连接服务器而不需要输入密码了
    

    5、ssh 安全端口

    端口安全指的是尽量避免服务器的远程连接端口被不法份子知道,为此而改变默认的服务端口号的操作。

    在上一节中我们知道了SSH的默认端口是22。我需要将这个默认端口改掉。
    对应需要修改的文件是 /etc/ssh/sshd_config 这里我们可以同时监听多个端口

    image.png

    相关文章

      网友评论

          本文标题:Linux (一) SSH 使用

          本文链接:https://www.haomeiwen.com/subject/ojmxvqtx.html