Linux配置SSH免用户免密码登录

1. 目的

简化SSH登录过程, 实现从机器A登录机器B只须要运行ssh hostname便可, 即不须要输入用户名和密码。vim

2. 配置host

配置host的做用是ssh登录机器时用hostname代替IP, 在机器不少的集群环境中hostname比IP容易记的多, 编辑 /etc/hosts文件, 配置须要登录的机器IP和hostname, 我这里配置机器129.211.93.219的hostname为 spider01bash

vim /etc/hosts

若是能ping通配置的hostname则配置成功。ssh

2. 配置免密

使用ssh-keygen生成密钥,将公钥文件上传至目标机器便可实现免密登录,使用命令生成密钥:ide

ssh-keygen -t rsa -C 'comment'
  • -t rsa: 指定使用 rsa加密;加密

  • -C: 添加备注, 备注会加到公钥文件最后,方便区分;3d

运行命令会有交互输入,所有使用默认值直接回车就行,默认会在家目录的.ssh/文件夹下生成四个文件:code

  • authorized_keys: 存放远程免密登陆的公钥,主要经过这个文件记录远程机器的公钥。blog

  • id_rsa: 生成的私钥文件文件上传

  • id_rsa.pub: 生成的公钥文件class

  • known_hosts: 已知的主机公钥清单

而后经过ssh-copy-id命令复制本机公钥到目标机器上,运行命令:

sh-copy-id -i ~/.ssh/id_rsa.pub user_name@hostname

运行成功后便可使用ssh user_name@hostname 免密码登录。

3. 配置免用户

编辑.ssh/目录下config 文件, 没有则新建一个,

vim ~/.ssh/config

添加目标机器配置:

添加成功后,便可使用ssh hostname直接登录。

相关文章
相关标签/搜索