关于linux:SSH免密登录一步搞定

11次阅读

共计 1259 个字符,预计需要花费 4 分钟才能阅读完成。

SSH 免密登录

服务器 A 实现免密登录服务器 B。(基于 Linux 服务器)

实现过程


一、服务器 A 公钥的生成

服务器 A 上命令行界面输出上面命令,会在以后用户目录下新建 [.ssh] 文件夹,文件夹内蕴含 id_rsa(私钥)与 id_rsa.pub(公钥)

服务器 A:~ nicholas.joey$ ssh-keygen -t rsa -C "你的邮箱"
服务器 A:~ nicholas.joey$ cd .ssh
服务器 A:.ssh nicholas.joey$ ls -al
total 40
drwx------   6 nicholas.joey  staff   192  2  3 14:13 .
drwxr-xr-x+ 47 nicholas.joey  staff  1504  2  3 14:13 ..
-rw-r--r--   1 nicholas.joey  staff   263  2  3 14:13 config
-rw-------   1 nicholas.joey  staff  2602 11 14 14:08 id_rsa
-rw-r--r--   1 nicholas.joey  staff   570 11 14 14:08 id_rsa.pub
-rw-r--r--@  1 nicholas.joey  staff  6270  2  3 09:14 known_hosts
二、指标服务器 B 的解决

以后用户目录下是否存在 [.ssh] 文件夹,没有则新建 [.ssh] 文件夹并赋予 700 权限。

并创立文件 authorized_keys。将其服务器 A 创立的 id_rsa.pub(公钥)内容复制在 authorized_keys 文件中。

[服务器 B ~]$ mkdir .ssh/
mkdir: 无奈创立目录“.ssh/”: 文件已存在
[服务器 B ~]$ chmod 700 .ssh/
[服务器 B ~]$ cd .ssh/
[服务器 B .ssh]$ touch authorized_keys
[服务器 B .ssh]$ vim authorized_keys
[服务器 B .ssh]$ cat authorized_keys 
ssh-rsa ***** 741779841@qq.com

结尾

实现上述两步,服务器 A 就可通过 SSH 免密登录服务器 B

服务器 A:~ nicholas.joey$ ssh root@192.168.0.106

Authorized users only. All activities may be monitored and reported.

Last login: Wed Feb  3 16:12:41 2021 from 
[服务器 B ~]$ 

还能够自定义名称进行免密登录,在其服务器 A[.ssh]文件夹中新建 config 文件

Joey:~ nicholas.joey$ cat .ssh/config 
#本地开发环境
#自定义名称
Host joey
#服务器 B 地址
HostName 192.168.0.106
#服务器 B 用户名
User root
#验证形式为公钥形式
IdentityFile ~/.ssh/id_rsa
Joey:~ nicholas.joey$ ssh joey

Authorized users only. All activities may be monitored and reported.
[服务器 B ~]$ 
正文完
 0