美文网首页
Terminal 免密连接服务器

Terminal 免密连接服务器

作者: asing1elife | 来源:发表于2019-06-01 08:48 被阅读0次

    一般连接服务器都会借助类似 SecureCRT 这一类的连接工具,因为可以记住密码,那么如果想用 Terminal 连接服务器,同时又不想输入密码应该如何操作

    更多精彩

    相关网址

    1. SSH连接服务器+让服务器记住密码及IP - sunyao_123的博客 - CSDN博客
      • 具体内容是从这边博客学到的,不过里面写的有点乱,而且有一个点写错了

    实现方式

    在本地生成公钥秘钥

    1. 在终端输入 ssh-keygen -t rsa 即可根据提示生成本地公钥密码,如下图
      • Enter passphrase 提示输入的密码用于加密公钥秘钥
      • 如果输入了密码,在配置好连接方式后,对服务器发起连接请求时,虽然不会提示输入服务器密码,但会需要输入此密码
      • 如果直接跳过,不输入密码,对服务器发起连接请求时,则可以直接连接,不需要输入任何密码


        image

    在本地配置服务器信息

    1. 根据上图提示可以知道公钥密码生成后存放的目录是 /Users/asing1elife/.ssh/id_rsa ,如下图
      • asing1elife 是自己的用户文件夹名称
        image
    2. 前往上述目录,输入 vi config 编辑待连接的服务器配置,如下图
      • Host 是服务器名称,如果你想通过输入 ssh testServer 就直接连接服务器,那么这里的名称就应该输入 testServer ,我这里为了保持服务器信息的明确区分,直接使用的 IP
      • HostName 是服务器 IP 地址
      • User 是进行服务器连接的服务器用户
      • Port 服务器端口号
      • IdentityFile 之前生成的本地秘钥存放路径,前面参考的文档中这个地方就写错了
        image

    前往服务器打开 RSA 连接许可

    1. 登录服务器,输入 vi /etc/ssh/sshd_config ,编辑服务器 SSH 连接配置文件,找到下图中的内容
      • 前三个选项默认是被注释掉的,删掉注释即可打开配置


        image

    将本地公钥内容添加到服务器的公钥列表中

    1. 在本地终端中输入以下内容,可将本地公钥内容传输到服务器的公钥列表中
      • 这里输入目录结构的是,没有提示,需要完全手工输入
      • authorized_keys 不是目录,而是一个文件
    scp /Users/asing1elife/.ssh/id_rsa.pub root@192.168.7.8:~/.ssh/authorized_keys
    
    1. 传输完成后登录服务器,输入 cat ~/.ssh/authorized_keys 就可以看到里面有公钥内容,说明配置已经完成了
    2. 现在再本地终端中输入 ssh 192.168.7.8 就可以直接登录指定服务器
      • 如果之前的配置中有配置 passphrase ,则会提示输入该密码,注意这里要求的不是服务器密码,而是之前自己配置的公钥秘钥密码

    相关文章

      网友评论

          本文标题:Terminal 免密连接服务器

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