部署网站,想确认一下这样理解SSH是否正确

1)背景:新手自学建网站,买了空间vps,现在想通过ssh方式远程连接网站。

2)我的理解:

因为虚拟主机是linux系统,所以本地通过简单的ssh username@hostname再输入密码就能连接到主机。但别人说这样不安全,所以要用密匙。密匙在线在主机管理页面在线生成,强度可分为2048,1024等按需要选择,我以2048生成了私匙和公匙。公匙由于在主机管理平台生成,直接关联到我的主机,无需过多操作。而私匙则被我下载到本地linux系统里,再经过傻瓜化的界面按钮”导入“键来将这个私匙与我的系统建立联系,所谓联系就是将这个私匙保存到~/.ssh文件夹里面的一个文件,这个文件会被我本地linux系统所使用。每次登录时私匙与公匙必须配对成功。

所以,当我在主机启用这个ssh密匙后,每次我登录,本地linux系统自然会在~/.ssh文件夹找到相关的私匙与要连接的服务器给出的公匙进行配对,同时照例,我还要输入密码才可最终登入我的主机。

所以简而言之,登录还是需要密码,但只是多了一重验证,那就是私匙和公匙。而我说了那么多,也就是在说如何把私匙正确地放到所属的位置以让本地linux所用。

所以我的疑问有两个:
1.这个和git的ssh连接是同一个东西,git是自己生成好把公匙扔上去,这个则恰好相反,但我上面的理解有问题吗?
2.因为设置前后都是密码登录就成,那我怎么确认我真的打开了两根钥匙的验证程序(即使我已经本地导入,主机管理界面也已经授权)?

求教指点,谢谢!

======================================================

问题解决,上面用密码来登录没使用到密匙,密匙的话无需密码。那个购买的vps文档写得不清不楚,用Amazon的AWS马上一目了然了,谢谢各位回答!

阅读 3.7k
5 个回答

前者输入的是ssh密码,后者输入的是私钥解密密码

其实,只要是你登录别人的机器,不管是github还是vps都是只要上传自己的公钥就好!
不建议在别的机器上面生成私钥下载。这样增加了私钥泄密的危险!

Github是将客户端的生成的公钥放到服务器端,来实现免密码的ssh登录。按照你的描述,还需要密码才能登录,这两个应该是不同的东西。
但具体原理还是等大神来解答吧
(^ー^)ノ

  1. 说实话,没太看懂问题描述,你是要实现本地主机ssh免密码访问远程vps还是相反?

  2. 说下我的理解,两台主机,哪台要ssh免密码登陆对方,不是应该把自己的公钥通过ssh-copy-id命令写入到对方的authorized_keys中就可以吗?

私钥,只有你自己知道,最好知道放在本地计算机,不要通过任何方式传递
公钥,随便乱丢,任何人都能看

信息 → 通过私钥加密 → 密文 → 通过公钥解密 → 信息
信息 → 通过公钥加密 → 密文 → 通过私钥解密 → 信息

也就是说,通过公钥加密后能通过私钥还原,通过私钥加密后能通过公钥还原

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题