SSH免密登录一步搞定

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 ***** [email protected]

结尾

实现上述两步,服务器A就可通过SSH免密登录服务器B
服务器A:~ nicholas.joey$ ssh [email protected]

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 ~]$ 

你可能感兴趣的:(linux服务器ssh)