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-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

 

 


已发布

分类

来自

标签:

0 0 投票数
文章评分
订阅评论
提醒
guest
5 评论
最旧
最新 最多投票
内联反馈
查看所有评论
trackback

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

trackback

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

wq
wq
6 年 前

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

wq
wq
6 年 前
回复给  wq

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

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