Windows Cygwin 配置 SSH

运维技术   cygwin ssh  

一、安装Cygwin (建议使用32位)

  • 指定源
http://mirrors.sohu.com/cygwin/  
http://mirrors.163.com/cygwin/  
  • 安装必须软件
procps     包含uptime/free/top等常用工具  
openssh-*  默认是不安装OpenSSH的,需要手动选择,在Net类别下选上OpenSSH和OpenSSL两项  
openssl  
rsync  
unzip  
wget  
vim  
dos2unix  
cron  

二、设置环境变量

  • 把 C:/cygwin/bin;C:/cygwin/usr/bin 加入到系统环境变量的Path中

三、配置SSH

  • 生成密钥
cd /home/$user/  
ssh-keygen 当询问要filenames 和 pass phrases 的时候都点回车,接受默认的值  
命令结束后输入 cd ~/.ssh 转到.ssh目录,输入 ls –l 应该包含两个文件id_rsa.pub(公钥) 和 id_rsa(私钥)
  • 打开cygwin执行以下指令
chmod +rw /etc/group  
chmod +rw /etc/passwd  
chmod +rwx /var  
mkpasswd -l -c > /etc/passwd  
mkgroup -l > /etc/group  
sed -i -e '42s/password_.*/password_value=\"123456\"/' /bin/ssh-host-config  
ssh-host-config -y -p 22122 -u Administrator  
mkdir -m 700 /home/Administrator/.ssh  
echo '你的公钥' > /home/Administrator/.ssh/authorized_keys"  
chmod 600 /home/Administrator/.ssh/authorized_keys  
sed -i -e '42s/password_.*/password_value=/' /bin/ssh-host-config  
  • 启动ssh(CMD中运行)
net start sshd  
  • 查看22122端口是否启动成功
netstat -an |more  

四、批量修改密码

  • 使用net user
ssh -i win.key -p 2222 administrator@x.x.x.x 'net user Administrator  passwd'  
  • 如果出现 请键入 NET HELPMSG 2245 以获得更多的帮助 错误
密码不满足密码策略的需要。检查最小密码长度、密码复杂性和密码历史的需求

五、在Cygwin下安装cygrunsrv及cron程序

  • 将cron安装为windows服务。
    cygrunsrv -I cron -p /usr/sbin/cron -a -n
    网上有些文章中命令格式为: cygrunsrv -I cron -p /usr/sbin/cron -a -d,可能是因为cron版本不同。
  • cygrunsrv参数说明:
-I: 安装服务
-R:删除服务
-S:启动服务
-E:停止服务
-Q:查询服务
-L:显示所有服务
安装服务的参数:
-p:指定服务程序路径
-a:指定服务程序命令参数
-e:指定服务程序的环境变量
-d:服务的显示名称
  • 启动cron服务
    cygrunsrv -S cron
    net start cron