Powershell windows XP中的.ssh目录存在问题
我正在尝试使用Powershell在windows XP中使用(git)ssh和ssh密钥 当我运行ssh时,它总是试图从一个在windows上下文中没有实际意义的位置获取密钥和已知主机 i、 ePowershell windows XP中的.ssh目录存在问题,powershell,ssh,Powershell,Ssh,我正在尝试使用Powershell在windows XP中使用(git)ssh和ssh密钥 当我运行ssh时,它总是试图从一个在windows上下文中没有实际意义的位置获取密钥和已知主机 i、 e 在windows 7中,此行为似乎会导致创建.ssh目录或从c:\Program Files(x86)\Git\bin读取目录。但是,在Windows XP中,这似乎不是一种行为,请尝试直接指定: ssh -i $HOME/.ssh/id_rsa 此问题似乎是由Powershell和Windows
在windows 7中,此行为似乎会导致创建
.ssh
目录或从c:\Program Files(x86)\Git\bin
读取目录。但是,在Windows XP中,这似乎不是一种行为,请尝试直接指定:
ssh -i $HOME/.ssh/id_rsa
此问题似乎是由Powershell和Windows中环境变量的工作方式引起/相关的 实际上,(git)ssh似乎正在获取
$env:HOME
的值,这在powershell中与$HOME的值不同
在Windows 7中,可以使用命令setx HOME/c/Users/james
设置此值。如果要将主位置设置为驱动器(即z:
),则必须使用尾随斜杠,否则setx将假定它是一个标志。i、 e.setx HOME/z/
这将在您打开的下一个Powershell窗口中生效(但不会在当前窗口中生效)
在windows XP中,setx
并不总是可用(它在SP2和SP3上),如果您阅读Microsoft文档,您可能会认为setx
只是reg add
的简写,但这实际上是一个谎言
如果使用命令reg add HKCU\Environment/v HOME/t reg_SZ/d”/c/Documents and Settings/james/“
而这似乎以与setx
相同的方式更新注册表。在注销/登录周期结束之前,这些更改在(Git)ssh中不可用
ssh -i $HOME/.ssh/id_rsa