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 ~]$
网友评论