ssh 公钥认证是ssh认证的方式之一。通过公钥认证可实现ssh免密码登陆,git的ssh方式也是通过公钥进行认证的。
在用户目录的home目录下,有一个.ssh的目录,和当前用户ssh配置认证相关的文件,几乎都在这个目录下。
ssh-keygen 可用来生成ssh公钥认证所需的公钥和私钥文件。
使用 ssh-keygen 时,请先进入到 ~/.ssh 目录,不存在的话,请先创建。
生成ssh公钥
使用 ssh-kengen 会在~/.ssh/目录下生成两个文件,不指定文件名和密钥类型的时候,默认生成的两个文件是:
- id_rsa
- id_rsa.pub
第一个是私钥文件,第二个是公钥文件。
生成ssh key的时候,可以通过 -f 选项指定生成文件的文件名,如下:1
2
3ssh-keygen -t rsa -f vultr_rsa -C "vultr服务器"
其中:vultr_rsa 是文件名 vultr服务器是备注和客户端标示
配置公钥到服务器
将公钥内容添加到服务器的~/.ssh/authorized_keys 文件中.
alias 实现命令快速登陆
做好配置之后,通过ssh可以直接登录了。对经常登录的服务器,可以将ssh登录命令的alias加到 ~/.bash_profile文件中。1
alias to-ini='ssh root@11.1.1.1'
登录的时候:1
to-ini
ssh-copy-id
ssh-copy-id 是一个小脚本,你可以用这个小脚本完成以上工作。这个脚本在linux系统上一般都有。1
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.x.xxx