ssh免密登陆连接配置
1. 生成ssh key
进入~/.ssh 目录,生成ssh key
cd ~/.ssh
ssh-keygen #生成默认密钥对 公钥id_rsa.pub 私钥id_rsa
# 也可以通过参数进行指定 ssh-keygen -t rsa -C [email protected]
# 生成过程中可以指定密钥对的名称,否则默认为id_rsa
~/.ssh目录是用来存放ssh key的目录,目录下主要有密钥对,config文件和known_hosts文件。config文件主要用来给通过ssh连接的服务器配置别名,方便连接;known_hosts文件是为了验证连接服务器的安全性。当第一次通过ssh连接到服务器A时,A会传递一个公钥给host,host会将这个公钥保存到known_hosts中,以后每次连接,都会验证A的公钥是否和在known_hosts中的公钥是否匹配,以此防范DNS Hijack之类的攻击。known_hosts文件如图:
2.上传公钥到服务器
将生成的公钥上传到需要登陆的服务器上,完成配对。(配置多个服务器时不需要重复生成密钥,直接上传已有的公钥即可)
ssh-copy-id -i id_rsa.pub user@host
# 使用命令自动在服务器端部署公钥,无需手动注册 id_rsa.pub为默认公钥名称,可根据情况修改
完成这一步就可以免密登陆了。
ssh user@host
但是为了更方便,可以使用config文件给服务器配置别名
3.配置服务器别名
使用config文件给服务器配置别名,config文件配置格式如下:
Host alias # 服务器的别名
HostName 192.168.2.8 # 服务器地址
User parallels # 登陆用户名
Port 22 # ssh默认端口
IdentityFile ~/.ssh/id_rsa # 使用的私钥文件
Host alias2
...
配置完成后,即可使用ssh alias
命令直接登陆服务器了。