完整改写:
本地系统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_remote
username_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
.