创建新的 Windows 8.1 用户帐户时,通常必须注销当前帐户并以新用户身份重新登录。发生这种情况时,Windows 开始设置您的主目录并执行许多其他操作。(我不知道是什么!)
但是由于我已经使用另一个帐户安装了 Cygwin 和 ssh,所以我只想添加一个额外的仅 SSH 帐户,而不添加所有常规的 Windows 垃圾文件夹。
因此,通过使用本机 Windows 命令行工具等net
,我可以添加用户和密码。那么是否可以设置一个正常运行的 Cygwin 用户以 ssh 进入此机器?editrights
wmic
Cygwin 通常喜欢在第一次运行 Cygwin shell 时启动一些脚本(哪些?)。那么我如何通过 ssh 登录(从另一个本地帐户)来完成同样的事情?
PS。写完这个问题后,我意识到这可以归结为理解 Windows 在您第一次登录时会做什么,以及这对于一个正常运行的帐户是否真的是必要的。
答案1
(如果我有代表的话,这将是一条评论)
这可能只是轶事,但上次我在 Cygwin 中使用 OpenSSH(可能是 2001 年)时,我只能以当前登录的 Windows 用户身份登录 SSH。
答案2
这真是小菜一碟!从来没想过它会起作用。只需像平常一样创建一个新的 Windows 用户帐户。为了简单起见,我们将其称为“xxxx”,并确保授予其管理权限。然后以管理员身份运行 Cygwin shell。使用以下命令检查您的帐户创建情况:
net user xxxx
现在执行以下操作:
mkpasswd.exe -l -u xxxx >>/etc/passwd
net stop sshd
net start sshd
现在转到您的外部计算机并尝试通过 SSH 连接到您的新用户帐户:
ssh -2 xxxx@<local-pc-ip-address>
砰!您已进入,Cygwin 将自动创建主目录并复制所有骨架文件“.bashrc“等等。您甚至不需要处理任何 ssh 文件。
Could not chdir to home directory /home/xxxx: No such file or directory
Copying skeleton files.
These files are for the users to personalise their cygwin experience.
They will never be overwritten nor automatically updated.
`./.bashrc' -> `/home/xxxx//.bashrc'
`./.bash_profile' -> `/home/xxxx//.bash_profile'
`./.inputrc' -> `/home/xxxx//.inputrc'
`./.profile' -> `/home/xxxx//.profile'
PS. 假设您已经在普通 Windows 帐户上设置了可运行的 SSHd。