在源系统和目标系统之间交换密钥时,本地帐户是否也必须存在于远程系统上?

在源系统和目标系统之间交换密钥时,本地帐户是否也必须存在于远程系统上?

完整改写:

本地系统server_local有一个帐户username_local。我在此帐户下登录,生成公钥并将其发送到远程系统server_remote,在其中添加到 username_remote@server_remote:${HOME}/.ssh/authorized_hosts

本地系统和远程系统都不允许简单的 UID 操作,因此我们无法在任一主机上创建用户名。

这足以通过以下方式连接到远程系统吗?

sftp username_local@server_remote 
or
sftp server_remote 
or
sftp username_remote@server_remote 

编辑:

a)“远程验证”是指在执行调用时使用密钥对交换访问远程服务器sftp 用户名_本地@服务器_远程并通过可信连接,跳过密码

b)我认为Torin已经回答了第二个问题,即密钥文件中的后缀只是一个注释,所以更改它不会影响任何事情

结论:在sftp 用户名_远程@服务器_远程格式。谢谢各位先生们!

答案1

sftp 服务器将查找远程主目录

〜用户名_远程/.ssh/授权密钥
如果本地私钥与 中的公钥匹配authorized_keys,那么

  • sftp username_local@server_remoteusername_local除非等于,否则不起作用,username_remote因为远程端没有匹配的用户
  • sftp server_remote与上面相同
  • sftp username_remote@server_remote~/.ssh如果您的本地目录(例如)中有匹配的私钥,则可以使用该私钥,~/.ssh/id_rsa然后由远程端提供并接受该私钥进行身份验证。

如果您有权访问私钥(identity_file)并将其作为参数传递,则与您是哪个本地用户无关

sftp -i identity_file username_remote@server_remote

到 sftp 命令。它就像现实世界中的一把钥匙。

本地用户帐户不必存在于远程,但如果本地和远程用户相同并且您可以简单地使用sftp server_remote.

相关内容