如何使用ssh密钥的方式实现无密码scp传输文件(Linux to Windows)

如何使用ssh密钥的方式实现无密码scp传输文件(Linux to Windows)要实现从 Linux 到 Windows 使用 SSH 密钥进行无密码的 scp 文件传输,你需要按照以下步骤操作&#xff

如何使用ssh密钥的方式实现无密码scp传输文件(Linux to Windows)

要实现从 Linux 到 Windows 使用 SSH 密钥进行无密码的 scp 文件传输,你需要按照以下步骤操作:

1. 在 Linux 上生成 SSH 密钥对

如果你还没有生成 SSH 密钥对,可以使用以下命令生成:

ssh-keygen -t rsa

按照提示进行操作,通常可以直接按回车键接受默认设置。

2. 将公钥复制到 Windows 上

你需要将 Linux 上生成的公钥 (~/.ssh/id_rsa.pub) 复制到 Windows 上的 authorized_keys 文件中。这一步通常涉及以下操作:

在 Windows 上设置 OpenSSH 服务
  1. 安装 OpenSSH: 确保 Windows 上安装了 OpenSSH 服务器。可以通过 Windows 设置中的“应用和功能”来安装它,或者使用 PowerShell 命令:

    Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
    
  2. 启动 OpenSSH 服务:

    Start-Service sshd
    

    并设置为开机自启:

    Set-Service -Name sshd -StartupType 'Automatic'
    
  3. 创建 .ssh 目录和 authorized_keys 文件:

    在 Windows 上的用户主目录下(例如 C:\Users\<YourUsername>),创建 .ssh 目录并设置适当的权限:

    mkdir C:\Users\<YourUsername>\.ssh
    

    .ssh 目录中创建 authorized_keys 文件,并将 Linux 上的公钥内容添加到其中:

    notepad C:\Users\<YourUsername>\.ssh\authorized_keys
    

    将公钥内容粘贴到 authorized_keys 文件中并保存。

  4. 设置文件权限:

    确保 .ssh 目录和 authorized_keys 文件的权限设置正确:

    icacls C:\Users\<YourUsername>\.ssh /inheritance:r
    icacls C:\Users\<YourUsername>\.ssh /grant:r <YourUsername>:F
    icacls C:\Users\<YourUsername>\.ssh\authorized_keys /inheritance:r
    icacls C:\Users\<YourUsername>\.ssh\authorized_keys /grant:r <YourUsername>:F
    

3. 从 Linux 使用 SCP 进行文件传输

现在你可以从 Linux 上使用 scp 命令进行文件传输了:

scp /path/to/local/file <YourUsername>@<WindowsIPAddress>:/path/to/remote/directory

这将使用 SSH 密钥进行身份验证,无需输入密码。

4. 如果你Windows上使用的是Administrator用户,并且 Administrator 用户在 administrators 组中

你需要将 Linux 上的公钥内容添加到这个文件中 C:\ProgramData\ssh\administrators_authorized_keys

因为这是配置文件 C:\ProgramData\ssh\sshd_config中的默认配置

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

如果遇到任何问题,请确保 OpenSSH 服务在 Windows 上运行正常,并且 SSH 密钥权限设置正确。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754873039a5211304.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信