linux免密远程登陆

作为一名搬砖的程序员,我们总是不断的会远程登录服务器去查看日志等东东...童鞋们可能会借助XSHELL、SecureCRT等辅助工具,但这样总感谢low low滴,我比较喜欢直接在终端下直接登到服务器。常用命令:

// 第一步
ssh [email protected]
//第二步
enter password

每次登录都要重复这2步,太烦了,我们一次性配置免密登录,以后登录只需ssh 别名, 再也不用担心输错密码了。更重要的是免密登录在project部署中是必不可少的。

ssh alias

下面我们将一步步的帮助小白们实现自己的第一个免密登陆

配置免密登陆的步骤

  1. 生成秘钥对

ssh-keygen -t rsa -C "你自己的名字" -f "你自己的名字_rsa"

-C:一定要大写
-f: 文件
rsa: 加密算法

前后“你自己的名字可以不一致”,名字可以设置花名或者邮箱都可以

// 新建目录
mkdir keys
cd keys
// 在keys下生成密钥对
ssh-keygen -t rsa -C "[email protected]" -f "[email protected]_rsa"  
图片.png
图片.png
  1. 上传配置公钥
  • 上传公钥到服务器对应账号下的home路径下的.ssh/下(ssh-copy-id -i "公钥文件名" 用户名@服务器IP或域名)
ssh-copy-id -i [email protected]_rsa.pub [email protected]

公钥上传到服务器下的目录为:/root/.ssh

图片.png
  • 配置公钥文件访问权限为600
 -rw------- (600) -- 只有属主有读写权限
 chmod 600  authorized_keys
  1. 配置本地私钥
  • 把第一步生成的私钥复制到你的home目录下的.ssh/路径下
cp [email protected]_rsa ../.ssh
  • 配置你的私钥文件访问权限为600
  • chmod 600 你的私钥文件名

此时其实就可以进行免密登录了,小试牛刀一下:

注意此时是在.ssh目录下运行的,否则找不到私钥文件

// -i 找到私钥文件
ssh -i [email protected]_rsa [email protected]
  1. 免密登陆功能的本地配置文件
  • 编辑自己home目录下的.ssh/路径下的config文件
  • 配置config文件的访问权限为644
#aliyun
Host myAliyun
HostName 116.62.145.100
IdentityFile ~/.ssh/[email protected]_rsa
StrictHostKeyChecking  no
IdentitiesOnly yes
Protocol 2
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO
User root

至此,已经完美的实现免密登录了,可以给自己来个鼓掌了

图片.png

你可能感兴趣的:(linux免密远程登陆)