SSH信任关系配置(免密码登录)

编程入门 行业动态 更新时间:2024-10-21 14:21:18

SSH信任关系配置(免<a href=https://www.elefans.com/category/jswz/34/1771279.html style=密码登录)"/>

SSH信任关系配置(免密码登录)

场景:主机A想ssh免密码访问主机B (root/非root用户通用) A→B

1、在主机A上切换到平常用来跳转的用户上(本例用普通用户GK),执行ssh-keygen命令,然后一路回车即可。

root@主机A:[/root]su - GK
GK@主机A:~> cd .ssh       //没有就新建:~>mkdir .ssh 注意带上符号“.”
GK@主机A:~/.ssh> ssh-keygen        //一路回车到结束即可
Generating public/private rsa key pair.
Enter file in which to save the key (/home/GK/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/GK/.ssh/id_rsa.
Your public key has been saved in /home/GK/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:HvuXR5fdQkas5dsfasdasOFh/YwCM6xt/kqw GK@主机A
The key's randomart image is:
+---[RSA 2048]----+
|   o  .+**..o.   |
|  . o  .*o-o..   |
|   . . o*o.oo    |
|   = o oo.   o   |
|  . = .  .  o .  |
|  E. o    .. .   |
+----[SHA256]-----+

2、查看生成的公钥文件id_rsa.pub,并复制其内容

GK@主机A:~/.ssh> ll
total 8
-rw------- 1 GK GK 1675 Aug 20 17:02 id_rsa
-rw-r--r-- 1 GK GK  417 Aug 20 17:02 id_rsa.pub
GK@主机A:~/.ssh> cat id_rsa.pub          //查看主机A生成的公钥

例:ssh-rsa AAAAB3NzaC1yc2EAAAADA**********UwTauL GK@主机A
注意 公钥要完全复制,包括最后面的“GK@主机A”

3、登录到被访问主机B上面,切换到免密码登录的用户下 //a、b步骤任选其一即可

a.=======免密码登录root======    //当想免密跳转到主机B的root用户时root@主机B:[/root/.ssh]cd ~                          root@主机B:[/root]mkdir .ssh       //有.ssh目录就跳过这步root@主机B:[/root]cd .ssh                            root@主机B:[/root/.ssh]vi authorized_keys     //将主机A复制的公钥粘贴到此文件内,并wq保存
b.======免密码登录普通用户=====     //当想免密跳转到主机B普通Bck用户时root@主机B:[/root]su - Bck                                             Bck@主机B:[/home/Bck]mkdir .ssh     //有.ssh目录就跳过这步Bck@主机B:[/home/Bck]cd .ssh                         Bck@主机B:[/home/Bck/.ssh]vi authorized_keys  //将主机A复制的公钥粘贴到文件内,并保存

4、跳转的是普通用户则还需要修改主机B的.ssh等文件权限,否则还是要密码登录

Bck@主机B:[/home/Bck]chmod 700 -R /home/Bck/.ssh  //路径根据实际用户而改变
Bck@主机B:[/home/Bck]chmod 600 -R /home/Bck/.ssh/authorized_keys  //路径根据实际用户而改变

测试访问:

GK@主机A:~>ssh Bck@192.168.96.120 

至此已可以不用输密码即可登录,但是还是需要输入用户名(当主机A/B,公私钥使用的用户名相同可不用)

==解决本地登陆用户与远程登陆用户不一致时免输用户跳转===
1、进入主机A上生成秘钥的用户 ~/.ssh ,修改config配置文件 //没有就新建

GK@主机A:~/.ssh> vi config     //按以下格式添加
Host hostname     // hostname即主机B地址
user name         // name 主机B用来免密码登录的用户
Host hostname
user name
例:
Host 192.168.96.120
user BCK

2、修改config权限,不然会报错

GK@主机A:~/.ssh>chmod 600 -R config

=====重启主机BSSHD守护进程=======

root@主机B:[/etc/ssh]ps -ef | grep ssh       //用root查看sshd进程
root   11955    1  0 Aug16 ?    00:00:00 sshd: root@pts/0
root   119338   1  0 17:35 ?    00:00:00 /usr/sbin/sshd -D  //sshd守护进程
root   125551  11957  0 17:54 pts/0   00:00:00 grep --color=auto ssh
root@主机B:[/etc/ssh]kill -HUP 119338   //重启SSHD守护进程

“-HUP”一定要加上!!!否则ssh守护进程被杀死,只有重启系统了!!!进程ID一定要对应!!!

更多推荐

SSH信任关系配置(免密码登录)

本文发布于:2023-07-01 07:37:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/972717.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:密码   关系   SSH

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!