SSH私钥密钥配置(Linux)

Linux配置私钥和密钥

  1. 使用 ssh-keygen 生成密钥对(私钥和公钥)
  • 语法:ssh-keygen -t rsa -C "your_email@example.com" -p Port
  • -t 指定密钥类型,默认是 rsa ,可以省略。
  • -C 设置注释文字,比如邮箱。
  • -f 指定密钥文件存储文件名。
  • -p 为端口号
  • 提示都不用管,一路回车 (En­ter)
  • 操作完后会在 ~/.ssh 目录中生两个密钥文件,id_rsa 为私钥,id_rsa.pub 为公钥。
  • ~符号代表用户主目录,俗称家目录。其路径与当前登陆的用户有关,在 Linux 中普通用户家目录的路径是/home/用户名,而 root 用户是/root。Win­dowd 10 中路径是C:\Users\用户名。在 ma­cOS 中路径是/Users/用户名。
  1. 使用 ssh-copy-id 把公钥上传到另外一台服务器上
  • ssh-copy-id -i ~/.ssh/id_rsa.pub User@HostName -p Port
  • -i为指定公钥路径,后面的~/.ssh/id_rsa.pub是公钥路径,不指定路径默认就会添加到指定用户下的 ~/.ssh/id_rsa.pub 目录。
  • User 为用户名,HostName 为 IP 地址,Port 为端口号。
  1. ssh-copy-id 命令相当于执行了以下复杂的手动操作:
  • 复制公钥文件中的内容
  • cat ~/.ssh/id_rsa.pub
  • 登录到远程主机
  • ssh User@HostName -p Port
  • 创建 ~/.ssh 目录
  • mkdir -p ~/.ssh
  • 把公钥文件写入到 ~/.ssh/authorized_keys
  • vim ~/.ssh/authorized_keys
  • 设置权限
  • chmod 700 ~/.ssh
  • chmod 600 ~/.ssh/authorized_keys
  • 所以使用 ssh-copy-id 大大简化了 SSH 密钥的配置过程。
  1. 使用 ssh 命令进行密钥登录
  • 当私钥存在于默认位置 (~/.ssh/id_rsa) 时,会优先使用密钥登录,所以执行的命令与密码登录没有区别, 系统会把 ~/.ssh/id_rsa 作为默认的 SSH Key,因为 id_rsa 是被默认添加到 ssh agent 中的。
  • ssh User@HostName -p Port
  • -i为指定私钥路径,后面的~/.ssh/p3terx是私钥路径。
  1. 多个SSH Key如何管理,在生成多个ssh key的时候使用 ssh-keygen -f 文件名(自定义文件名防止被覆盖)
  • /.ssh目录下(上面有讲),创建一个config的文件,添加内容
#gitee
Host gitee
    User git
    Hostname gitee.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitee_id_rsa

# 阿里云
Host aliyun   
    User root
    Hostname 阿里云ip
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
  • 配置说明:
  • Host:自定义别名(随便)
  • HostName:真实的服务器地址(域名)
  • User:用户名
  • PreferredAuthentications:权限认证(publickey,password publickey, keyboard-interactive)一般直接设为publickey
  • IdentityFile:私钥的路径,可指定多个私钥,在连接的过程中会依次尝试。
  • Port 端口,不填写默认为 22(ssh默认都是22端口)
  1. 配置完成之后在终端直接使用即可
  • ssh aliyun
  • ssh gitee
  1. 由于配置了gitee的密钥,在下载gitee仓库的时候需要把 git@gitee.com 直接修改为 gitee(它在config中指向的就是 git@gitee.com)
git clone gitee:nanhailiangliang/video-barrage.git

原文地址:https://p3terx.com/archives/configuring-ssh-keys-with-sshkeygen-and-sshcopyid.html

posted @ 2021-09-24 14:42  男孩亮亮  阅读(63)  评论(0编辑  收藏  举报