1. SSH(Secure Shell)
SSH 是你在远程登录到Linux服务器时使用的工具。假设你有一台远程服务器,你想从自己的电脑登录到这台服务器进行操作,SSH 就是你使用的工具。
示例:
你在自己的电脑上打开终端,输入命令:
ssh username@server_ip
这时,你的电脑通过网络向远程服务器发送请求,希望登录到服务器上。这就是你平时在远程管理服务器时用的 SSH。
2. sshd(SSH Daemon)
sshd 是服务器上正在运行的一个后台服务(也叫"守护进程")。当你通过 SSH 连接到远程服务器时,正是这个 sshd 进程在监听连接请求并允许你登录到服务器上。
如何理解:
- 你使用的 SSH 是客户端,而 sshd 是服务器端的服务。
- 当你在终端输入
ssh
连接命令时,服务器上 sshd 会接受并验证你的登录请求。 - 通过 sshd,你可以安全地在远程操作这台服务器。
3. bash(Bourne Again Shell)
bash 是你平时在Linux系统中使用命令行的"壳",也是你登录到Linux系统后直接与系统互动的界面。
日常使用:
- 当你登录到一台Linux服务器,无论是本地还是通过SSH远程连接,你看到的就是一个 bash 界面。这个界面允许你输入命令,例如
ls
列出文件,或者cd
切换目录。 - bash 就像是你与系统交流的"翻译员",你输入的每个命令都会通过 bash 被解释、执行。
示例:
假如你使用SSH成功登录到远程服务器,你会看到一个提示符,这时你就可以输入命令,比如:
ls
这个命令会列出当前目录下的所有文件,而 bash 就是负责执行这个命令的工具。
类似的进程:
- zsh :与 bash 类似,zsh 是另一种 shell,提供类似的命令行交互功能。
- telnet:这是比SSH更早的远程连接工具,但不加密通信,安全性差,现在很少使用了。
总结:
- SSH 是你在本地电脑上使用的工具,用于远程登录到Linux服务器。
- sshd 是服务器上运行的服务,它负责处理远程登录请求。
- bash 是你登录到服务器后与操作系统交互的命令行环境,你可以通过它运行各种命令。
拓展:
- 当你登录到一台Linux服务器,无论是本地还是通过SSH远程连接,你看到的就是一个 bash 界面。这个界面允许你输入命令,例如
ls
列出文件,或者cd
切换目录。 - bash 就像是你与系统交流的"翻译员",你输入的每个命令都会通过 bash 被解释、执行。