首页 > 代码库 > cygwin openssh for windows

cygwin openssh for windows

Cygwin + OpenSSH FOR Windows的安装配置

Cygwin是一款世界著名软件,它可将Linux下的自由软件移植到Windows系统上来应用,了解和掌握这个软件,将使您又多了许多有益的选择,并带您到一个更广阔的天空下翱翔,这对于您的学习和工作将起到确定无疑的推动作用。下面我用自己总结的一个例子,带大家进入这个世界。

一、cygwin安装方法

点击安装如下图

技术分享

   技术分享

技术分享


默认下一步

技术分享

技术分享

技术分享


在User URL输入http://mirrors.163.com/cygwin点击Add

技术分享

技术分享



查询ssh,选择Net default中标记的勾上(此操作会安装ssh和ssl)

技术分享

安装vim插件

技术分享

技术分享

二、安装sshd服务

点击cygwin桌面快捷方式

在出现的session后输出 ssh-host-config –y

技术分享

此命令是安装sshd服务,中间需生成两个账户sshd和cyg_server

其中cyg_server需要设置密码

技术分享

技术分享

看下最下面那行,说明安装服务成功!

启动服务 net start sshd

技术分享

应为编码问题出现乱码。不影响操作。也可以在服务列表中查看服务是否正常启动。

三、添加防火墙规则

在防火墙中添加入站规则,允许22端口入站。

备注:1、cygwin能实现ssh互信

    2、可以脚本实现对站点批量操作。

    脚本如下(此脚本只作为抛砖引玉的作用,作为一种思路)

#!/bash/sh
#时间:2016-07-12
cd /cygdrive/c/Windows/System32/inetsrv 
echo "*******************************************"
echo "*                                         *"
echo "*        IIS管理程序脚本                  *"
echo "*                                         *"  
echo "*******************************************" 
echo "*       1)回收程序应用池                  *"         
echo "*       2)重启站点服务                    *"          
echo "*       3)重启服务器服务                  *" 
echo "*******************************************" 
HostIP=192.168.1
read -p "请选择您要做的操作:" arg
        case $arg in
		1)
			read -p "请输入你要操作的web服务器(如192.168.1.87只需输入87。每个ip以空格隔开):" WebIP
			if [[ $WebIP =~ ^[0-9][0-9" "]+$ ]];then
			   for ip in $WebIP
			   do
			   echo "web主机IP: $HostIP.$ip"	
			   ssh root@$HostIP.$ip "cd /cygdrive/c/Windows/System32/inetsrv ; ./appcmd.exe list app"
			   done
			   read -p "请输入回收程序应用池名:" zendao;
			   for ip in $WebIP
			   do
			   echo "web主机IP: $HostIP.$ip"	
			   ssh root@$HostIP.$ip "cd /cygdrive/c/Windows/System32/inetsrv ; ./appcmd.exe recycle apppool \"$zendao\""
			   done
			   else echo "你输入的ip有误,请重新输出.格式:每个ip以空格隔开,不能存在字符或其他字符"
			fi
			;;
		2) 
            read -p "请输入你要操作的web服务器(如192.168.1.87只需输入87。每个ip以空格隔开):" WebIP
			if [[ $WebIP =~ ^[0-9][0-9" "]+$ ]];then
			   for ip in $WebIP
			   do
			   echo "web主机IP: $HostIP.$ip"	
			   ssh root@$HostIP.$ip "cd /cygdrive/c/Windows/System32/inetsrv ; ./appcmd.exe list site"
			   done
			   read -p "请输入需要重启的站点名称:" zendao;
			   for ip in $WebIP
			   do
			   echo "web主机IP: $HostIP.$ip"	
			   ssh root@$HostIP.$ip "cd /cygdrive/c/Windows/System32/inetsrv ; ./appcmd.exe stop site /site.name:\"$zendao\""
			   ssh root@$HostIP.$ip "cd /cygdrive/c/Windows/System32/inetsrv ; ./appcmd.exe start site /site.name:\"$zendao\""
			   done
			   else echo "你输入的ip有误,请重新输出.格式:每个ip以空格隔开,不能存在字符或其他字符"
			fi
			;;
               3)
		        echo "Zabbix客户端服务:Zabbix Agent"
			read -p "请输入你要操作的web服务器(如192.168.1.87只需输入87。每个ip以空格隔开):" WebIP
			read -p "请输入需要重启的服务名称:" zendao;
			if [[ $WebIP =~ ^[0-9][0-9" "]+$ ]];then
			   for ip in $WebIP
			   do
			   echo "web主机IP: $HostIP.$ip"
			   ssh root@$HostIP.$ip "NET STOP \"$zendao\" ; NET START \"$zendao\""
			   done
			 fi
			 ;;
		?) 
			echo -e "您输入的选项有误,请重新输入正确的选项!"
			exit 0;;
               		esac

本文出自 “宁静致远” 博客,请务必保留此出处http://irow10.blog.51cto.com/2425361/1869471

cygwin openssh for windows