ssh免密登录详细教程

1、环境

客户端环境为Windows,设置ssh远程免密登录linux服务器(用户名root,ip:192.168.56.104)。

2、生成公私密钥

输入ssh-keygen,windows下建议先安装git客户端,用其自带的ssh密钥生成工具。
之后输入密钥保存文件夹(默认路径~\.ssh\),密码(输入为空表示无密码)。

PS C:\Users\NingZ> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\NingZ/.ssh/id_rsa):
PS C:\Users\NingZ> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\NingZ/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\NingZ/.ssh/id_rsa.
Your public key has been saved in C:\Users\NingZ/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Wsj55zrf1v492tZMj0kOsCBq0Wm5zcJMcYD9yDmVKak ningz@DESKTOP-J4476BG
The key's randomart image is:
+---[RSA 3072]----+
|     o.o o       |
|    . = =        |
|     + @         |
|    E.%oo .      |
|     B+*S. o     |
|    o =+o . . . .|
|   .  ... .  = =o|
|        .o .. *o=|
|        .+o..o+o+|
+----[SHA256]-----+

查看生成的密钥:
在这里插入图片描述

3、将公钥上传到服务器

用命令

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.56.104

将生成的公钥id_rsa.pub上传到服务器的~/.ssh/路径下,或者直接复制公钥到该目录下并修改名字为authorized_keys,主要确保该文件权限不能太高,可设置为

chmod 600 authorized_keys

结果如下:

ninja@ubuntu:~/.ssh$ ll
total 24
drwx------  2 ninja ninja 4096 Oct 16 16:02 ./
drwxr-xr-x 13 ninja ninja 4096 Oct 16 16:05 ../
-rw-------  1 ninja ninja  575 Oct 16 15:54 authorized_keys
-rw-------  1 ninja ninja 1679 Aug 16 14:16 id_rsa
-rw-r--r--  1 ninja ninja  410 Aug 16 14:16 id_rsa.pub
-rw-r--r--  1 ninja ninja 2210 Aug 20 15:08 known_hosts

4、开始免密登录

ssh远程连接服务器,直接登录即可。

ssh root@192.168.56.104

版权声明:本文为u014756245原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。