美文网首页
Mac免密码免IP快速登录服务器

Mac免密码免IP快速登录服务器

作者: 小雨Coding | 来源:发表于2020-07-31 19:44 被阅读0次

    我们通常使用Mac的terminal登录Linux服务器时,每次都需要输入服务器的IP地址和密码,是不是很不方便,今天就教大家一个方法可以快速免密码登录服务器。
    这里以快速登录我的阿里云服务器和树莓派服务器为例:


    1.gif

    你需要了解的基础知识

    1. Mac上负责ssh登录的公钥私钥存储位置:
    ~/.ssh/
    

    公钥:id_rsa.pub
    私钥:id_rsa
    如果我们Mac上没有ssh 公钥和私钥,我们就手动生成一下,使用命令:

     ssh-keygen -t rsa
    
    2. 服务器上存储ssh登录认证密钥的位置:
    ~/.ssh/authorized_keys
    

    理论上我们只要把Mac本地的公钥内容写入服务器认证密钥中,Mac就可以免密登录了!

    实际操作

    step01:把Mac上的公钥写入到服务器中:
    # 把本地公钥上传到服务器.ssh目录下
    scp ~/.ssh/id_rsa.pub root@192.168.123.159:~/.ssh
    # 将id_rsa.pub重命名为authorized_keys
    mv id_rsa.pub authorized_keys
    

    到这里我们就可以,输入ssh 用户名 IP地址,就已经可以免密登录了;
    但是如果我们还想要连IP地址都懒得输入,直接通过ssh 别名 就直接登录,这样该怎么操作呢?

    step02: 使用别名快速登录服务器

    通过本地ssh配置文件来使用别名登录服务器
    我们进入Mac本地管理ssh的文件夹~/.ssh,通过vim编辑文件config

    vim ~/.ssh/config
    

    写入相关内容,规则如下:

    • Host 服务器的别名
    • Host Name 服务器的域名或者IP地址
    • Port 端口 可以不写,默认22
    • User 服务器用户名
    • IdentityFile 本地私钥的位置
      我们可以设置多个服务器的别名登录
    Host ali
        HostName 120.79.38.66
        Port 22
        User root
        IdentityFile ~/.ssh/id_rsa
        UseKeychain yes
        AddKeysToAgent yes
    Host pi
        Hostname 192.168.123.159
        User root
        IdentityFile ~/.ssh/id_rsa
        UseKeychain yes
        AddKeysToAgent yes
    

    可能遇到的问题:

    可能你在登录的时候系统会出现这种问题

    Enter passphrase for key '~/.ssh/id_rsa':
    

    这是因为我们再生成公私钥的时候设置了私钥密码,导致ssh免密登录后每次都有输入私钥密码,明明是为了提高效率,这下好了,每次登录前还有手动输入三次ssh私钥密码!有解决办法吗?有:

    解决办法

    将私钥添加到钥匙串中:

    ssh-add -K ~/.ssh/id_rsa 
    

    按照提示输入一次私钥密码即可,后面就不需要输入了!
    在配置文件中添加属性UseKeychainAddKeysToAgent,像这样:

    UseKeychain yes
    AddKeysToAgent yes
    

    保存一下,就大功告成啦~

    参考链接

    https://www.jianshu.com/p/5a5f3867d425
    https://www.jianshu.com/p/272316fa1cda
    https://blog.csdn.net/acaixuediannao/article/details/79764841

    相关文章

      网友评论

          本文标题:Mac免密码免IP快速登录服务器

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