ssh 免密登录服务器

ssh免密登录服务器

一般我们登录服务器:

// 第一步:输入登录身份和IP。(IP不好记,记不住还得重新查找)
ssh [email protected]
// 第二步:输入密码 (要死了,记不住)
lxinwe80{]023rji/lsejQ3dd

那么怎么简单一点,既不用输入登录身份,也不用输入IP,更不用输入密码?

第一步:创建 ssh 私钥和公钥

本机应该有,如果不知道请自行搜索

第二步:添加服务器配置:

  1. 复制 本机 .ssh 中的公钥内容 (.pub 结尾的文件中的内容)


    id_rsa.pub

    (我电脑配置了两个公钥,分别是公司邮箱和个人邮箱)
    id_rsa.pub 和 id_rsa ,petalmail_id_rsa.pub 和 petalmail_id_rsa 是公钥和私钥的关系。

  2. 把公钥拷贝到服务器的 ~/.ssh/authorized_keys 文件中(如果没有则去创建)。

第三部:本地配置

在本地的 ~/.ssh 找到 或者 创建 config 文件,按照一下进行配置:

Host *
KexAlgorithms +diffie-hellman-group1-sha1
// 上面这两个一定要有,不然提代码可能出现问题。会报错(下图有报错信息)。
Host huawei                             //  huawei 这是代替服务器 IP 起的名称。
    HostName  111.222.333.444           // 要登录服务器的 IP
    User root                           // ssh 登录时候的身份,例如:ssh [email protected] 中的 root
    Port 22                             // ssh 所使用的端口,默认是 22
    IdentityFile ~/.ssh/id_rsa          // 刚才使用的 公钥 对应的私钥路径

完成!!!

Unable to negotiate with 10.18.101.6 port 29418: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 fatal: Could not read from remote repository.

没有正确配置 config 提交代码时候报错

Unable to negotiate with 10.18.101.6 port 29418: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
fatal: Could not read from remote repository.

第四步:尝试登录

尝试登录

ssh huawei  // 简单就能登录服务器, 无需密码

你可能感兴趣的:(ssh 免密登录服务器)