我敢肯定,你们中的一些人,包括我在内,都认为您使用 ssh 无需密码即可登录。实际上并非如此。可以涉及到很多事情,比如sftp/scp/winscp/等都离不开ssh。让我们开始正文。
什么是ssh?
ssh 是一种远程加密传输协议。这不是所谓的无密码登录。这只是其中的一部分。这是一种类似于 https 的加密协议,有助于提高安全性。很好理解吗?
另外,window、linux、mac等很多系统都内置了ssh。
ssh有什么用
ssh 增强了远程应用程序并取代了传统的远程协议 ftp、pop 和 telnet。虽然这些协议本身并不安全,都是以明文形式发送数据,很容易被中间人窃取,但 ssh 协议解决了远程传输过程中的这些问题,它为您的数据提供了一层加密保护,使攻击者难以破解.这就是为什么 sftp / scp / winscp 等协议后来出现的原因。所有这些都基于 ssh,如 sftp。这是传统远程文件协议 ftp 的安全版本。
如何使用 ssh
就个人而言,我更喜欢使用 ssh 命令登录远程服务器,并将其称为远程工具,帮助在本地主机和服务器主机之间传递和加密数据。
1.密码登录
命令是:
输入上述命令后,ssh会提示你输入远程服务器的密码。输入正确密码后,即可进入远程服务器,开始对话。另外,由于每次使用密码登录时都需要输入服务器密码,因此基本上使用第二种方法。方法:公钥登录。
提示:密码登录实际上解决了之前“中间人”攻击的问题。这是因为以前的ssh登录可以通过输入密码直接进入服务器,但是中介可以伪装成服务器与客户端交互。窃取密码并获取此密码。为了与真实服务器进行交互,这就是所谓的“中间人攻击”。后来,密码登录出现,解决了这个问题。如果这是远程主机的第一次,它将主动发送指纹。此指纹位于服务器端。您可以检查服务器指纹是否与指纹相同。如果相同,可以直接输入yes。也就是说,密码登录为您提供了识别它是否是真实服务器的选项。
2.公钥登录
公钥登录功能就是所谓的无密码登录,非常好用。即把公钥放在~/.
1.如果你有公钥,你需要有私钥。这是一对,也称为私钥。默认情况下,它位于 .ssh / 目录中。生成私钥的命令是:
生成过程将提示您输入密码。如果您的私钥被其他人窃取,此密码可以保护您免受额外的保护。如果不需要这个密码,可以回车到最后。
之后会在~/.ssh中自动生成两个文件。 id_rsa 私钥 /id_rsa.pub 公钥
2.将私钥id_rsa传递给ssh-agent进行管理
ssh-agent 角色:如果您的私钥设置为密码,则每次登录时都需要输入此密码。这很烦人。如果此命令出错,ssh-agent 将解决此问题。 , 可能你不会启动,可以在 git/linux 中输入以下命令启动 ssh-agent
3.上传id_rsa.pub内容到服务器~/.ssh/authorized_keys
上传方式一:使用 ssh-copy-id 工具
上传方式二:手动命令上传
上面的命令可以把user@host替换成自己的,现在就可以通过登录服务器不用密码登录了。
ssh 重新修复
ssh 并非旨在提供无密码登录。这只是冰山一角。 ssh 常用于远程操作。
ssh 根据它提供的命令与远程服务器交互。在此对话期间帮助加密传输。这称为远程加密传输协议。它与 https 类似,但它比 https 多了一种命令交互。操纵