解决cygwin64安装sshd服务进行免密操作失败的问题
在尝试安装hadoop离线版的时候,在安装cygwin64,并对其sshd服务进行免密化的时候出现了问题,老是提示需要输入密码。
就在这里记录一下解决操作。
文章写得有点小白,而且很详细,佬看了可能有点上火,还请各位大佬见谅。
问题发生环境:已经安装了cygwin,安装了ssh相关的服务,即openssh组件等,并且进行了cygwin环境变量的配置,下面就对免密的具体操作进行介绍
PS:如果你是已经安装了ssh的相关服务,并且在配置免密的过程中出现免密失败的问题,我建议你参考下面这篇文章,去把sshd服务卸了重新配。
(执行到第三个命令即可。如果你已经全部执行才看到这句话,抱歉,我的锅,再次重新卸了配吧。)
https://blog.csdn.net/swazer_z/article/details/22154203
如果你在重新配的过程中,执行cygrunsrv -R sshd指令出现1060错误码的时候,请手动进入服务,找到CYGWIN服务,启动它即可.
$ cygrunsrv -R sshd
cygrunsrv: Error starting a service: OpenSCManager: Win32 error 1060: #1060错误码
如果在安装过程中,出现了这个错误,请用管理员身份重新启动cygwin64进行操作。
cygrunsrv: Error removing a service: OpenSCManager: Win32 error 5:
#ssh的免密操作
执行指令顺序:(注意,要是实在不会弄,就看我下面一步步来,如果没把把握解决就别直接粘贴指令完事)
ssh-host-config
ssh-keygen
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
ssh localhost #如果你在这里启动,发现遇到了
# WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
#那么就看我下面的解决方式,你遇到这个情况的原因就是你之前装了ssh的服务,识别ip出错了。
第一步:
"""此处如果你是之前配过,那么前面几个叫你overwrite,你填yes就是了。"""
"""然后最关键的一点就是Should privilege separation be used? (yes/no) 选择:no,具体的原因我会把大佬的文章放下面。"""
$ ssh-host-config
*** Info: Generating missing SSH host keys
*** Query: Overwrite existing /etc/ssh_config file? (yes/no) yes
*** Info: Creating default /etc/ssh_config file
*** Query: Overwrite existing /etc/sshd_config file? (yes/no) yes
*** Info: Creating default /etc/sshd_config file
*** Info: StrictModes is set to 'yes' by default.
**