Linux系统下SSH命令的使用

是什么?

主要是用来生成两个文件,用来实现免密访问远程主机.

  • 公钥 🔒
    一般公钥存储在自己需要访问的远程主机,存储路径为:~/.ssh/authorized_keys 。
  • 秘钥 🔐
    一般留存在本地主机上 。通常我们的存储路径为: ~/.ssh/id_rsa

我们这里说的所有存储路径通常指的都是默认情况下。

怎么用?

命令行直接敲

ssh-keygen

当然,我们也可以在命令行后面跟着一些常用的设置项,比如:

  • 指定密钥类型,默认即 rsa ,可以省略
      ssh-keygen -t rsa
    
  • C 设置注释文字,比如你的邮箱,可以省略
      ssh-keygen -C "ityuany"
    

回车之后,可以进行确认修改的选项为:

  • 私钥的位置、名称
  • SSH 秘钥的访问密码(用于使用 ssh 登录时的密码,图省事的话可以不写,直接回车)

最终我们将得到两个文件

  • id_rsa (私钥)
  • id_rsa.pub (公钥)

默认情况下,他们一般位于 ~/.ssh 目录下面。 此时我们只要将 公钥放置在我们需要访问的远程服务端上对应的位置上即可

  • 公钥在需要访问的远程服务器,通常我们放置在 : ~/.ssh/authorized_keys
  • 在一些软件平台中,也是支持直接配置 SSH 登录的,比如 GitHub、GitLab,只要将公钥配置进入即可。

将公钥快捷的传输给远程服务器

ssh-copy-id [USER]@[HOST]

回车之后一般通常会要求输入远程服务器的访问密码。

默认情况下,传输到远程服务器的位置为: ~/.ssh/authorized_keys