美文网首页Linux学习之路
SSH免密码登陆远程服务器(菜鸟向)

SSH免密码登陆远程服务器(菜鸟向)

作者: n_ll | 来源:发表于2017-04-28 18:53 被阅读75次

    SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议

    获取/生成公钥和私钥

    1. 检查本地是否已有公钥和私钥,打开终端并输入
    cd ~/.ssh
    

    本地公钥一般在用户根目录下的.ssh文件夹下面, ~/代表用户根目录

    若存在则能成功进入./ssh文件夹,输入ls查看当前文件夹下的内容

    • config -- ssh配置文件
    • id_rsa -- 私钥
    • id_rsa.pub -- 公钥
    • known_hosts -- ssh会把你每个你访问过计算机的公钥都记录在这里

    如果存在公钥私钥则可以无需生成,如果需要清理原来的可以输入 mkdir key_backup$ cp id_rsa* key_backup$ rm id_rsa*然后再重新生成

    2.生成公钥私钥

    ssh-keygen -t rsa -C “您的邮箱地址”
    

    在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。

    生成成功,可以通过步骤1的命令查看生成好的公钥私钥

    复制公钥的远程服务器

    1. 登陆服务器并检查用户根目录是否有./ssh
    • 登陆服务器
    ssh 用户名@主机名(ip/域名)
    
    • 登陆后默认是在用户根目录,直接输入ls -a查看是否存在.ssh文件夹,若不存在输入以下命令创建
    mkdir .ssh
    
    1. 使用scp将本地的id_rsa.pub到服务器~/.ssh/authorized_keys,新开一个终端并输入
    scp ~/.ssh/id_rsa.pub 用户名@主机名:~/.ssh/authorized_keys
    

    成功复制后可以在登陆了服务器的终端中输入cat ~/.ssh/authorized_keys查看到公钥

    3.修改服务器端.ssh相关权限

    chmod 700 ~/.ssh   //让.ssh文件夹具有让所有者读写和执行的权限
    
    chmod 600 ~/.ssh/authorized_keys //让authorized_keys文件具有让所有者读写的权限
    

    关于权限
    sudo chmod 600 ××× (只有所有者有读和写的权限)
    sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
    sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
    sudo chmod 666 ××× (每个人都有读和写的权限)
    sudo chmod 777 ××× (每个人都有读和写以及执行的权限)

    如果想了解更多技术圈内容和技术分享,可以搜索【今天不想写代码】或者扫描以下二维码关注公众号:

    相关文章

      网友评论

        本文标题:SSH免密码登陆远程服务器(菜鸟向)

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