SSH免密登录

因为平时用的都是Linux系统做服务器,都是用账户密码登录,非常不好记录。所以专用SSH来登录服务器跟方便快捷。阔且啥系统都支持。

这都要涉及到几个概念了。每个计算机都可以生成公钥和私钥。 所以要用控制电脑通过SSH控制目标电脑,目标电脑中就需要控制电脑的公钥。为了完成这一点,那么:

控制电脑生成公钥私钥

ssh-keygen -t rsa

需要选择目录和密钥,都可以为空,回车就可以。用root使用的命令就生成在/root/.ssh/里,其他的用户就会生成在/home/user/.ssh/里,或是指定的账户目录里。

此命令会生成两个文件:id_rsa和id_rsa.pub。id_rsa是私钥,不能随便传递,id_rsa.pub是公钥,需要放在目标电脑里。

SSH免密登录

发送公钥到目标机器

ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
  • ~/.ssh/id_rsa.pub  公钥位置
  • user  目标机用户名
  • host  目标机主机IP或主机名

例如:ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.10.0.69

此过程需要输入yes进行指纹验证以及对应用户的登录密码。

ps: Windows主机发送公钥到目标主机参考:windows免密ssh访问主机

登录目标机器

ssh host

通过ssh登录目标机器,然后想做上面就做上面吧!

 

遇到的问题

重置了目标机之后,或者是目标机公钥丢弃了

会遇到这样的问题 : WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

删除控制机上登录目标机的记录,然后再重新把公钥发送给目标机。

 sudo ssh-keygen -f "/root/.ssh/known_hosts" -R host

 

 


已发布

分类

作者:

标签

评论

《“SSH免密登录”》 有 5 条评论

  1. […] gitea中创建仓库,client push文件到仓库中。登录drone同步仓库,并激活仓库的webhooks,在drone的Setting中设置Secrets的名称private_key,值为ssh私钥。其中ssh的私钥是在服务器中生成的公钥私钥,公钥推送到instance主机。生成公钥私钥的方法:ssh免密登录。 […]

  2. […] 基本步骤参考:SSH免密登录 […]

  3. wq 的头像
    wq

    大佬,我在一篇文章中看到你评论你使用ipad+code-server的组合然后用ipad打代码,我在那个帖子找不到地方回复你,在这里问一下可以吗。。

    1. wq 的头像
      wq

      如果大神回复可以用邮箱回复吗?这个平台我没有注册账号

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

5
0
希望看到您的想法,请您发表评论x