美文网首页web工具
Mac使用ssh密钥登录Linux

Mac使用ssh密钥登录Linux

作者: IstvanShaw | 来源:发表于2018-06-24 03:27 被阅读4064次

    ssh登录Linux通常有两种方法:用户名密码登录、用户名密钥登录;使用用户名密码登录每次都要输入密码,相当麻烦,而使用用户名密钥登录则可以避免这个问题。

    创建密钥对文件

    打开本地终端,执行 ssh-keygen 命令创建密钥对:

    ssh-keygen -t rsa -C  'your email@domain.com'
    
    -t 指定密钥类型,默认即 rsa ,可以省略
    -C 设置注释文字,比如你的邮箱,可以省略
    

    生成过程中会提示输入密码两次,如果不想在使用公钥的时候输入密码,可以回车跳过;
    密钥默认保存位置在 ~/.ssh 目录下,打开后会看到私钥文件 id_rsa 和公钥文件 id_rsa.pub

    复制公钥至服务器

    使用 scp 命令将本地的公钥文件 id_rsa.pub 复制到需要连接的Linux服务器:

    scp ~/.ssh/id_rsa.pub <用户名>@<ip地址>:/home/id_rsa.pub
    

    如果修改了ssh默认连接端口的话,需要加上端口信息:

    scp -P <端口号> ~/.ssh/id_rsa.pub <用户名>@<ip地址>:/home/id_rsa.pub
    

    把公钥追加到服务器ssh认证文件中:

    cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
    

    这时候在本地终端中使用用户名和ip登录就不需要密码了:

    ssh <用户名>@<ip>
    

    如果修改了ssh默认连接端口的话,需要加上端口信息:

    ssh -p <端口号> <用户名>@<ip地址>
    

    配置快捷登录

    即使不用输入密码,这样每次登录还要输入用户名ip端口信息还是有点麻烦,我们可以配置ssh快捷登录更方便的登录Linux;
    在本地 ~/.ssh/config 配置文件中添加ssh服务器信息,格式:

    Host            alias            #自定义别名
    HostName        hostname         #替换为你的ssh服务器ip或domain
    Port            port             #ssh服务器端口,默认为22
    User            user             #ssh服务器用户名
    IdentityFile    ~/.ssh/id_rsa    #第一个步骤生成的公钥文件对应的私钥文件
    

    这时候就可以使用配置文件中自定义的别名来登录了:


    参考:
    Linux公社 文章 Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录
    菜鸟教程 教程 Linux scp命令

    相关文章

      网友评论

        本文标题:Mac使用ssh密钥登录Linux

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