服务器宇宙的人们,来自同为学徒的你们,向您致以谦卑的问候。
以上内容表明我是一名新手,因此需要一些琐碎问题的帮助,因此请提前感谢所有帮助。
我在从 Linux 或 MacOS SSH 进入 Win10 家庭版 PC 时遇到 2 个问题需要帮助。
- 尽管我将我的 (linux/macos) id_rsa.pub 密钥复制到 authorized_keys 文件 (win10) 中,它仍然要求输入密码。另外需要指出的是,由于
ssh-copy-id
问题 #2,我手动复制了密钥,因为无法正常工作 - 当我登录 win10 时如何更改默认 shell,目前我使用命令提示符来欢迎我,如下所示,我有 bash(WSL),并且希望当我通过 ssh 进入它时它成为默认提示符。
Microsoft Windows [Version 10.0.19042.1466]
(c) Microsoft Corporation. All rights reserved.
panda@DESKTOP-TEST C:\Users\panda>
答案1
我假设您安装了 Microsoft β 版本的本机 openssh 服务器?
Microsoft 文档解释了如何在服务器端使用 Powershell 部署 ssh 密钥。
尽管如此,你仍然想要 bash:
2/ 可以通过在注册表中添加属性来配置 Microsoft 提供的 shell:
New-ItemProperty -Path“HKLM:\SOFTWARE\OpenSSH”-Name DefaultShell -Value“C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe”-PropertyType String -Force Blockquote
您还可以使用“bash”脚本来修改您的 %PATH% 并添加您可能在服务器上安装的任何第三方 bash(cygwin、msys、git-bash……)。
1/ 再次尝试 ssh-copy-id :) 但请记住,只有 ed25519 密钥才有效。
you@unix$ ssh-keygen -t ed25519
可能会帮到你。也可能不行:我不确定 Microsoft 的 openssh 实现,如果 ACL(及其 Administrator_Authorized_Keys 机制)未正确修复,ACL 管理可能会在部署 ssh 密钥后阻止你登录。
顺便说一句:微软的文档非常清楚。 https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_server_configuration和 https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement