• mac上配置ssh免密登录远程服务器


    一般ssh登录远程服务器 都是需要账号密码的,每次登录都要输入账号密码比较麻烦,为了方便,可以配置免密登录,ssh免密登录及其原理看 这里

    实现ssh免密登录关键点在于公钥和私钥

    如果之前用过 GitHub 或者 GitLab 之类基于 Git 的仓库管理系统,那么你本地应该是配置过这个公钥和私钥的,这里要切记,

    不用再重复配置一遍了!不用重新配置一遍了! 可能你会覆盖掉你本地用的钥匙,这样的话,你可能就连不上你之前有权限的 Git 仓库了。

    如果你没配置过,我们需要先来配置下,怎么配置呢?

    # 通过 mkdir 创建这个目录
    mkdir .ssh
    # 通过 cd 进入到该目录下
    cd .ssh
    

    额外说明: 这个.ssh 目录会在根目录下,使用   cd ~   进入根目录下, 使用  ls -a  展示根目录下所有文件以及文件夹,

    就可以看到生成的  .ssh  文件,如下图:

    然后执行

     ssh-keygen -t rsa -b 4096 -C "你的邮箱(可以随便填写)" 

    一路回车到底,对于新手这里就先不要设置密码了,不然就搞得太复杂了。执行完这一步命令之后,

    可以看到  .ssh  的目录下面生成了两个文件  id_rsa(私钥) 和  id_rsa.pub(公钥) ,然后开起来 ssh 代理:

     eval "$(ssh-agent -s)" 

     最后,把 ssh key 加入到 ssh 代理中

     ssh-add ~/.ssh/id_rsa 

    理论上走完这一步,你本地已经有了配置好的钥匙文件,强调一下,这里要切换到本地操作,不是服务器上,在本地的根目录的 ssh 文件夹下。

    通过 cat 命令打印这个公钥文件内容:

     cat .ssh/id_rsa.pub 

     

    然后选中整段内容,复制一下,再来到服务器上。

    然后,这一步很重要哈!这一步是为了,以后我们可以从 GitHub 或者 GitLab 之类的仓库获得仓库的权限,因此我们要把刚才生成私钥的过程重复一遍,这一步不做是不影响我们配置无密码登录的,再把刚才的流程走一遍,一模一样的步骤:

    ssh-keygen -t rsa -b 4096 -C "name@email.com"
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa

    然后,通过简单的 vim 命令,我们需要创建一个授权文件:

     vi .ssh/authorized_keys 

     

    会打开一个编辑页面,不要做任何输入,切记,不要做任何输入,同时要保证当前的输入法切换到英文输入状态,然后按下键盘上的 i 键后,

    command+v 把刚才复制的公钥拷贝进来,再按一下键盘上的 ESC 退出键确保回到编辑状态,然后同时按下 shift 和 冒号键,最后输入 wq! 回车,

    这个文件就自动创建了。这是简单的 vim 快捷键,大家还是要多少了解一点点的,才能方便在服务器上增改文件。

    这个操作很容易由于不熟悉 Linux 下的 vim 编辑而出错,要多体会几遍,再动手做。

    如果没有生效,可以对该文件进行一个 600 可读授权,再重启下 ssh 服务:

    chmod 600 ~/.ssh/authorized_keys
    sudo service ssh restart 

    通过 ssh name@xx.xx.xx.xx 就直接登录了,就不需要输入密码了,如果这一步没有成功,可以按照这之前的顺序,再仔细比对一遍,看有没有遗漏项。

    遇到的问题:

    ssh 连接的时候 提示   WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!  如下图所示

    这种情况需要在本地  .ssh  目录下 删除  anthorized_keys  , 删除的命令是   rm -rf authorized_keys , 然后重新连接即可

     

  • 相关阅读:
    CodeSmith入门教程
    AJAX调用实例
    药品监控增加表结构
    典型SQL 语句总结
    CRM中常用代码
    win2000sever+IIS5不能下载exe文件处理方法
    常用的文件对应的MIME类型
    数据库范式1NF 2NF 3NF BCNF
    多线程编程中如何更改UI值
    NHibernate学习笔记(2)—关系映射
  • 原文地址:https://www.cnblogs.com/yalong/p/13897370.html
Copyright © 2020-2023  润新知