linux系统免密登录原理及配置 以及常见问题解决方案

 首先我们要先清楚究竟是谁登录谁:
实际上登陆时是从客户机登录服务机,通俗一点讲就是使用我们本地的电脑登录云端或自己的服务器。

其中本地机就是client端, 服务器就是server端。

过程

当用户使用SSH连接到运行着zsh的Linux用户时,以下是具体的进程派生关系:

1.用户使用SSH客户端连接到远程服务器。

2.远程服务器通过SSH服务接受来自用户的连接请求,建立连接并验证用户凭据。

3.远程服务器为用户创建一个新的shell会话,作为用户的工作环境。

4.远程服务器在新的shell会话中启动zsh shell进程。

5.zsh shell进程通过读取系统级别和用户级别的配置文件,如/etc/zshrc~/.zshrc进行初始化。

6.zsh shell进程等待用户在终端输入命令。

7.当用户在终端输入命令时,zsh shell进程将命令解析并执行。

8.zsh shell进程从终端读取和写入数据,并将输出发送到SSH客户端以在用户的本地机器上显示。

在这个过程中,SSH客户端、远程服务器、shell会话和zsh shell进程都是独立的进程,它们之间通过进程间通信(IPC)相互协作,完成了用户与远程Linux系统之间的交互。

linux系统免密登录原理及配置 以及常见问题解决方案_第1张图片

linux系统免密登录原理及配置 以及常见问题解决方案_第2张图片


实际操作:

第一种方式,在client中的终端中输入

cat .ssh/id_rsa.pub

将出现的密钥复制下来,然后发送给服务端:

在服务端的终端中打开 authorized_keys 文件,若使用 vim 打开,指令可以为

vim authorized_keys

将密钥粘贴在该文件中,保存关闭。

之后就可以免密登录了。


第二种方式,在clien使用

ssh-copy-id  用户名@主机名

执行完之后系统将client的公钥直接自动复制给 server 中的 authorized_keys 文件中。


可能出现的问题:cat authorized_keys时,发现authorized_keys文件不存在,此时需要我们自己手动安装:

touch ~/.ssh/authorized_keys        //新建一个文件,名字为authorized_keys

 chmod 600 ~/.ssh/authorized_keys   //将authorized_keys文件权限设置为只有属主的读写权限,保障安全性

 做完以上步骤后,即可解决问题。

如果出现其他问题会继续补充在文章下方,最后修改时间为:2023/9/9 10:00

你可能感兴趣的:(linux,ssh,运维)