因为在cygwin上使用ssh,这里顺便介绍下初始化。 首先重新启动安装程序,搜索openssh,装上。
然后,初始化配置文件。
ssh-host-config
此时会在/etc
文件夹下创建所有需要的文件
在cygwin中,配置文件不在~/.ssh/config中,而是在/etc/ssh_config
下。
注意这一行:
# IdentityFile ~/.ssh/id_ed25519
取消注释。这里不要使用rsa的密钥。
这里特别注意,新版的openssh不再支持rsa算法,使用rsa生成的默认密钥会无法配置免密登录。 具体上以调试方式使用ssh:
ssh -vvv root@9.123.2.xxx -p 36000
然后调试日志中会出现:
debug1: Offering public key: /home/yinzi/.ssh/id_rsa RSA SHA256:8+ov/xlPvjwwjPxxxxxxxxxxxxxxxxxxwRbswpU
debug1: send_pubkey_test: no mutual signature algorithm
debug2: we did not send a packet, disable method
no mutual signature algorithm
代表这个算法的支持有问题。
此时,IdentityFile ~/.ssh/id_ed25519
路径下还没有密钥。
虽然在初始化的时候在/etc目录下都产生了相关的密钥文件,但是这里重新生成一对密钥。使用ed25519
算法。
ssh-keygen -t ed25519 -C "your_email@cygwin"
复制~/.ssh/id_ed25519.pub
中的内容,到目标机器的~/.ssh/authorized_keys
文件中。
此时,已经可以使用ssh来免密码登录相关机器了。