随笔 · 2019/05/03 5

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免密登录 第1张

发送公钥到目标机器

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

 

 

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