我已经阅读了官方定义:
ssh-agent
是一个保存用于公钥认证(RSA、DSA、ECDSA)的私钥的程序。这个想法是 ssh-agent 在 X 会话或登录会话的开始时启动,所有其他窗口或程序都作为 ssh-agent 程序的客户端启动。通过使用环境变量,可以定位代理并在使用 ssh(1) 登录其他机器时自动用于身份验证。
“一个保存私钥的程序” - 恕我直言,ssh 密钥由用户使用ssh-keygen
命令生成并简单地存储在~/.ssh
- 为什么我需要一些守护程序来保存这些密钥?它究竟是如何容纳它们的?- 它们不只是存储在.ssh
吗?
“作为 ssh-agent 程序的客户端启动” - 我不明白。哪里需要那个?我通常只使用 ssh 如下:
ssh -i ~/.ssh/private_key_name username@hostname
Run Code Online (Sandbox Code Playgroud)
上述定义中的“客户”究竟是什么意思?什么客户?难道你不只是ssh
从终端运行命令来连接到另一台机器吗?还有哪些其他客户端,为什么他们不能像ssh
命令一样使用该私钥文件的标准路径?
我vim
在 Ubuntu 上使用打开了一个文件,屏幕底部显示以下内容:
"file.py" [noeol] 553L, 16620C
Run Code Online (Sandbox Code Playgroud)
是什么noeol
指示?
假设你正在一个很旧的Unix服务器上,其中dos2unix
,perl
,tr
,和sed
不存在。如何将文件从dos转换为unix格式?
如果您打开一个文件,vim
并且该文件EOL
的最后一行末尾没有,那么编辑器会将其报告为[noeol]
. 在打开它之前如何确定这一点vim
?(有没有我可以发出的命令来确定这一点?)