Ubuntu超级计算机操作系统.doc

上传人:豆**** 文档编号:17421847 上传时间:2022-05-24 格式:DOC 页数:19 大小:155KB
返回 下载 相关 举报
Ubuntu超级计算机操作系统.doc_第1页
第1页 / 共19页
Ubuntu超级计算机操作系统.doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《Ubuntu超级计算机操作系统.doc》由会员分享,可在线阅读,更多相关《Ubuntu超级计算机操作系统.doc(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流Ubuntu超级计算机操作系统.精品文档.Ubuntu下设置自己的“超级计算机集群”(1)【51CTO 3月10日外电头条】在本文中我将一步一步指导大家设置自己的“超级计算机集群”,通过Ubuntu MPI Cluster平台,借助John the Ripper实现在多台计算机上对加密过的目标进行暴力破解。当然这一切应以学术研究为目的。计算机上具备四核处理器的朋友有福了。尽管Ubuntu 软件库中的”john”二进制代码原本只针对于单核运行,但我的设置将尝试使其在四核计算机上运行效率更高,耗时更少。本文的出发点是将问题表达得通俗易懂,以使普通

2、用户便于理解掌握,因此我决定不在其中涉及NIS,NFS,BIND或诸如此类的复杂技术。读者应该不必花费数天时间阅读有关Linux系统管理员知识的教材或手册,也能在家中轻松建立并玩转计算机集群系统。我制作的应用基于Ubuntu 10.04 Server,因为它是迄今为止最常用的Linux工具,同时也是一种蕴涵长效机制的版本,在2015年之前可以一直适用。前言本文中谈到的集群实施方案并不会对具备高实用性及安全性的运行环境构成威胁。背景我发现不得不从破解自己设置的一个尘封多年早已忘却的老密码开始着手。在搜集了几台手边的计算机之后,我开始尝试让它们协同工作。本文的诞生,是极端沮丧的心情、过量的咖啡因加

3、上一整个不眠之夜的产物。基本要求需要至少两台可运行Ubuntu Linux 10.04版本且已联网的计算机。“John”并不需要太大的带宽。服务器配置服务器要求一个静态IP地址或DHCP中保留的IP。需要用到的软件包以下软件包是必备的:libmpich1.0 - dev- MPICH静态库和开发文件libmpich - mpd1.0 - dev- MPICH静态库和开发文件 libmpich - shmem1.0 - dev- MPICH静态库和开发文件 openssh-server 安全框架 (SSH) 工具, 保障远程计算机的安全访问 mpich2 实施MPI信息传递接口标准 mpich2

4、-doc MPICH2相关文档 john 强力的密码破解工具build-essentials 必备软件包的信息统计清单peturserver:$ sudo apt-get install libmpich1.0-dev libmpich-mpd1.0-dev libmpich-shmem1.0-dev mpich2 mpich2-doc john openssh-server build-essentials网络配置默认情况下,/etc/hosts文件应如下所示:127.0.0.1 localhost127.0.1.1 server.petur.eu server#下列内容是采用IPv6协议的

5、主机fe00:0 ip6-localnetff00:0 ip6-mcastprefixff02:1 ip6-allnodesff02:2 ip6-allrouters首先把你的IP地址修改为127.0.1.1。处应为你的FQDN,而处应为你的计算机主机名。通过执行下列命令查找你的IP:peturserver:$ ifconfig|grep “inet addr”inet addr:10.0.0.1 Bcast:10.255.255.255 Mask:255.0.0.0inet addr: 127.0.0.1 Mask:255.0.0.0修改后/etc/hosts下的内容应如下所示:127.0.

6、0.1 localhost10.0.0.1 server.petur.eu server#下列内容是采用IPv6协议的主机:1 localhost ip6-localhost ip6-loopbackfe00:0 ip6-localnetff00:0 ip6-mcastprefixff02:1 ip6-allnodesff02:2 ip6-allrouters用户配置新建一个名为“cluster”(集群)并在其路径中加入/bin/代码。我发现在每台计算机上都对cluster采取相同的设置步骤是最便捷的做法。peturserver:$ sudo useradd -m -s /bin/bash c

7、lusterpeturserver:$ sudo passwd clusterEnter new UNIX password:(输入新的UNIX密码)Retype new UNIX password:(再次输入新的UNIX密码)passwd: password updated successfully(密码:密码更改成功)peturserver:$ sudo su cluster -c “mkdir /bin;export PATH=/bin:$PATH”MPICH设置MPI的应用基于以下配置文件: /.mpd.conf注:此文件以a开头且必须配合chmod 600才能生效。此文件在你的密码中

8、包含一个单独的命令行“secretword=“(replace ,其内容必须与集群中所有/.mpd.conf中的相关内容相同。 /mpd.hosts此文件中包含所有集群节点及服务器的列表,其格式为“host:number-of-cpu-cores”, fx。如果您的计算机具备四核心处理器,则将10.0.0.2设置为10.0.0.2:4。如果你只是想使用MPICH的功能而不在乎可用处理器核心的数量,那么该数值可以设置得低于实际情况。举例说明,如果服务器具备四核心处理器,你可能希望将数值设置为:3,而不是:4,这样服务器可以同时处理其它一些运算。千万不要预设localhost或127.0.0.1这

9、类你必须连接网络才能使用的IP。检查处理器核心数量,并创建配置文件。clusterserver:$ touch /.mpd.confclusterserver:$ chmod 600 /.mpd.confclusterserver:$ echo secretword=pass/.mpd.confclusterserver:$ /sbin/ifconfig|grep “inet addr”clusterserver:$ /sbin/ifconfig|grep “inet addr”inet addr:127.0.0.1 Mask:255.0.0.0clusterserver:$ cat /pro

10、c/cpuinfo|grep processor|wc lclusterserver:$ echo 10.0.0.1: 1 /mpd.hosts设置完成后,通过执行以下指令检查是否运行正常: mpdboot 启动集群 mpdtrace - 列出群体的所有节点 mpdallexit 关闭集群mpdallexit shut down the clusterclusterserver:$ mpdtraceclusterserver:$ mpdallexit如果设置方面没有任何错误,那么你的指令将全部被正确执行。如果出现问题,请检查你的/.mpd.cof的权限设置及/etc/hosts和/mpd.ho

11、sts的内容是否正确。安装John the Ripper在 the Ripper。clusterserver:$ mkdir sourceclusterserver:$ cd sourceclusterserver:/source$ wget 17-mpi8.tar.gz从src目录中解压并运行make指令(若你的计算机分辨率不足,请尝试使用make|less指令)。clusterserver:/source$ tar -zxf john-1.7.2-bp17-mpi8.tar.gclusterserver:/source$ cd john-1.7.2-bp17-mpi8/src/cluste

12、rserver:/source/john-1.7.2-bp17-mpi8/src$ make此时你会看到一个选项清单。要创建John the Ripper,键入保持系统清空运行所需的系统如下所示:linux-x86-mmx Linux, x86 with MMXlinux-x86-sse Linux, x86 with SSE2 (推荐)linux-x86-any Linux, x86linux-x86-64 Linux, AMD x86-64, 64-bit native w/SSE2 (推荐)linux-x86-64-mmx Linux, AMD x86-64, 32-bit with M

13、MX我发现linux-x86-sse2在我基于Intel架构的工作站上运行效果最好。clusterserver:/source/john-1.7.2-bp17-mpi8/src$ make clean linux-x86-sse2如果程序编译过程没问题,测试一下它能否正常工作。clusterserver:/source/john-1.7.2-bp17-mpi8/src$ ./run/john -format=DES testBenchmarking: Traditional DES 128/128 BS SSE2 DONEMany salts: 1994K c/s real, 1994K c/

14、s virtualOnly one salt: 1658 c/s real, 1654K c/s virtual将你新编译出的可执行文件移动至/bin下。运行John程序并确保它是_mpi版本。如果仍然无法正确执行,那一定是你设置的路径出了问题。clusterserver:/source/john-1.7.2-bp17-mpi8/src$ john|grep versionJohn the Ripper password cracker, version 1.7.2_bp17_mpi配置额外的节点每次在集群中新增节点,都需要遵循下列操作:该节点的IP地址为10.0.0.2前期准备一个静态IP地

15、址或DHCP中保留的IP。网络配置遵循服务器配置中的相同步骤,但注意过程中要使用正确的IP地址。必备的软件包。与服务器设置时的要求相同。用户配置为集群选择与你在服务器上所设置的相同的密码。peturnode1:$ sudo useradd -m -s /bin/bash clusterpeturnode1:$ sudo passwd clusterEnter new UNIX password:Retype new UNIX password:passwd: password updated successfullypeturnode1:$ sudo su cluster -c “mkdir

16、/bin;export PATH=/bin:$PATH”MPICH配置下列命令应被从服务器上而非新节点上执行。节点上的密码设置与服务器相比,减少了SSH环节。clusterserver:$ ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/home/cluster/.ssh/id_rsa):Created directory /home/cluster/.sshEnter passpharse (empty for no passpharse):Enter

17、same passpharse again:Your identification has been saved in /home/cluster/.ssh/id_rsa.Your public key has been saved in /home/cluster/.ssh/id_rsa.pub.The key fingerprint is:0f:d7:c4:14:cf:06:11:d5:80:ec:1f:c3:f3:3b:7f:22 clusterserverThe keys randomart image is(随机密钥图片如下):picture omitted(图片省略)cluster

18、server:$ ssh cluster10.0.0.2 mkdir -p .sshcluster10.0.0.2s password:clusterserver:$ cat .ssh/id_rsa.pub | ssh cluster10.0.0.2 cat.ssh/authorized_keyscluster10.0.0.2s password:clusterserver:$ ssh cluster10.0.0.2 cat /proc/cpuinfo|grep processor|wc -l2clusterserver:$ echo 10.0.0.2:2 /mpd.hostsclusters

19、erver:$ for i in cut delimiter=: -f1 /mpd.hosts;do scp /.mpd.conf cluster$i:;scp/mpd.hosts cluster$i:;doneThe authenticity of host 10.0.0.1 (10.0.0.1) cant be established.RSA key fingerprint is 2d:94:c6:40:b0:02:04:d9:86:c8:16:f3:e6:a7:9f:35.Are you sure you want to countinue connecting (yes/no)? Ye

20、sWarning: Permanently added 10.0.0.1 (RSA) to the list of known hosts.cluster10.0.0.1s password:mpd.conf 100% 16 0.0KB/s 00:00.cluster10.0.0.1s password:mpd.hosts 100% 22 0.0KB/s 00:00mpd.conf 100% 16 0.0KB/s 00:00.mpd.hosts 100% 22 0.0KB/s 00:00现在将以下新命令行添加至服务器上/etc/hosts下的文件中:10.0.0.2 node1最后一步,将所有

21、节点计算机上的/etc/hosts下的内容替换为服务器上/etc/hosts下的新内容。如果这一步没有完成,那么当你尝试启动群集时,将会提示以下错误:mpdboot_server (handle_mpd_output 407): failed to handshake with mpd on 10.0.0.2; recvd安装John the Ripper与服务器上的过程相同。基本命令使用 mpdboot verbose ncpus=1 -n 2指令启动群集 verbose :当发生错误时,更好地向我们提供当前运行状况的概述。 ncpus=1 :通知服务器计算机将一个核心分配给集群。 -n 2

22、 :使用两台计算机(一台服务器加一台节点)。clusterserver:$ mpdboot verbose ncpus=1 -n 2running mpdallexit on serverLAUNCHED mpd on server viaRUNNING: mpd on serverLAUCNHED mpd on 10.0.0.2 via serverRUNNING: mpd on 10.0.0.2检查集群是否处于工作状态mpdtrace 列出集群中的所有节点mpiexec -np 3 hostname,意思是使用三个处理器核心运行hostname指令。clusterserver:$ mpdt

23、raceservernode1clusterserver:$ mpiexec -np 3 hostnameservernode1node1mpdallexit 关闭集群clusterserver:$ mpdallexit借助MPI集群破解密码我将以一个简单的MD5散表为例:clusterserver:$ echo user:47584a15f1ba6c65da3a2ef8e43e606b crackme1.md5clusterserver:$ mpdboot ncpus=2 -n 2下面两行指令必须在一个命令行中输入clusterserver:$ for i in cut delimiter=

24、: -f1 /mpd.hosts;do scp /crackme1.mp5cluster$1:;done上述命令被用来编写易于集群执行的文件。 distributer.sh begins #!/bin/bash# usage: ./distributer.sh filenamefor x in cut delimiter=: -f1 /mpd.hosts;do scp $1 cluster$i:;done distributer.sh ends 一旦找到密码立刻使用Ctrl+C中止程序。clusterserver:$ mpiexec -np 3 john format:raw-MD5 crac

25、kme1.md5Loaded 1 password hash (Raw MD5 raw-md5 SSE2)Loaded 1 password hash (Raw MD5 raw-md5 SSE2)Loaded 1 password hash (Raw MD5 raw-md5 SSE2)petur1 (user)Process 2 completed loop.Threat: 2 guesses: 1 time 0:00:00:02 (3) c/s: 5616K trying: petciL petuscCclusterserver:$使用之后,一定记得及时关闭集群服务器。clusterserv

26、er:$ mpdallexit在本文中我将一步一步指导大家设置自己的“超级计算机集群”,通过Ubuntu MPI Cluster平台,借助John the Ripper实现在多台计算机上对加密过的目标进行暴力破解。当然这一切应以学术研究为目的。计算机上具备四核处理器的朋友有福了。尽管Ubuntu 软件库中的”john”二进制代码原本只针对于单核运行,但我的设置将尝试使其在四核计算机上运行效率更高,耗时更少。本文的出发点是将问题表达得通俗易懂,以使普通用户便于理解掌握,因此我决定不在其中涉及NIS,NFS,BIND或诸如此类的复杂技术。读者应该不必花费数天时间阅读有关Linux系统管理员知识的教

27、材或手册,也能在家中轻松建立并玩转计算机集群系统。我制作的应用基于Ubuntu 10.04 Server,因为它是迄今为止最常用的Linux工具,同时也是一种蕴涵长效机制的版本,在2015年之前可以一直适用。前言本文中谈到的集群实施方案并不会对具备高实用性及安全性的运行环境构成威胁。背景我发现不得不从破解自己设置的一个尘封多年早已忘却的老密码开始着手。在搜集了几台手边的计算机之后,我开始尝试让它们协同工作。本文的诞生,是极端沮丧的心情、过量的咖啡因加上一整个不眠之夜的产物。基本要求需要至少两台可运行Ubuntu Linux 10.04版本且已联网的计算机。“John”并不需要太大的带宽。服务器

28、配置服务器要求一个静态IP地址或DHCP中保留的IP。需要用到的软件包以下软件包是必备的:?libmpich1.0 - dev- MPICH静态库和开发文件?libmpich - mpd1.0 - dev- MPICH静态库和开发文件? libmpich - shmem1.0 - dev- MPICH静态库和开发文件? openssh-server 安全框架 (SSH) 工具, 保障远程计算机的安全访问? mpich2 实施MPI信息传递接口标准? mpich2-doc MPICH2相关文档? john 强力的密码破解工具? build-essentials 必备软件包的信息统计清单serve

29、r:$ sudo apt-get install libmpich1.0-dev libmpich-mpd1.0-dev libmpich-shmem1.0-dev mpich2 mpich2-doc john openssh-server build-essentials网络配置默认情况下,/etc/hosts文件应如下所示:127.0.0.1 localhost127.0.1.1 server#下列内容是采用IPv6协议的主机fe00:0 ip6-localnetff00:0 ip6-mcastprefixff02:1 ip6-allnodesff02:2 ip6-allrouters首先

30、把你的IP地址修改为127.0.1.1。处应为你的FQDN,而处应为你的计算机主机名。通过执行下列命令查找你的IP:server:$ ifconfig|grep “inet addr”inet addr:10.0.0.1 Bcast:10.255.255.255 Mask:255.0.0.0inet addr: 127.0.0.1 Mask:255.0.0.0修改后/etc/hosts下的内容应如下所示:127.0.0.1 localhost10.0.0.1 server#下列内容是采用IPv6协议的主机:1 localhost ip6-localhost ip6-loopbackfe00:0

31、 ip6-localnetff00:0 ip6-mcastprefixff02:1 ip6-allnodesff02:2 ip6-allrouters用户配置新建一个名为“cluster”(集群)并在其路径中加入/bin/代码。我发现在每台计算机上都对cluster采取相同的设置步骤是最便捷的做法。server:$ sudo useradd -m -s /bin/bash clusterserver:$ sudo passwd clusterEnter new UNIX password:(输入新的UNIX密码)Retype new UNIX password:(再次输入新的UNIX密码)pa

32、sswd: password updated successfully(密码:密码更改成功)server:$ sudo su cluster -c “mkdir /bin;export PATH=/bin:$PATH”MPICH设置MPI的应用基于以下配置文件:? /.mpd.conf注:此文件以a开头且必须配合chmod 600才能生效。此文件在你的密码中包含一个单独的命令行“secretword=“ (replace ,其内容必须与集群中所有/.mpd.conf中的相关内容相同。? /mpd.hosts此文件中包含所有集群节点及服务器的列表,其格式为“host:number-of-cpu-

33、cores”, fx。如果您的计算机具备四核心处理器,则将10.0.0.2设置为10.0.0.2:4。如果你只是想使用MPICH的功能而不在乎可用处理器核心的数量,那么该数值可以设置得低于实际情况。举例说明,如果服务器具备四核心处理器,你可能希望将数值设置为:3,而不是:4,这样服务器可以同时处理其它一些运算。千万不要预设localhost或127.0.0.1这类你必须连接网络才能使用的IP。检查处理器核心数量,并创建配置文件。clusterserver:$ touch /.mpd.confclusterserver:$ chmod 600 /.mpd.confclusterserver:$

34、echo secretword=pass/.mpd.confclusterserver:$ /sbin/ifconfig|grep “inet addr”clusterserver:$ /sbin/ifconfig|grep “inet addr”inet addr:127.0.0.1 Mask:255.0.0.0clusterserver:$ cat /proc/cpuinfo|grep processor|wc lclusterserver:$ echo 10.0.0.1: 1 /mpd.hosts设置完成后,通过执行以下指令检查是否运行正常:? mpdboot 启动集群? mpdtrac

35、e - 列出群体的所有节点? mpdallexit 关闭集群mpdallexit shut down the clusterclusterserver:$ mpdtraceclusterserver:$ mpdallexit如果设置方面没有任何错误,那么你的指令将全部被正确执行。如果出现问题,请检查你的/.mpd.cof的权限设置及/etc/hosts和/mpd.hosts的内容是否正确。安装John the Ripper在 the Ripper。clusterserver:$ mkdir sourceclusterserver:$ cd sourceclusterserver:/source

36、$ wget 17-mpi8.tar.gz从src目录中解压并运行make指令(若你的计算机分辨率不足,请尝试使用make|less指令)。clusterserver:/source$ tar -zxf john-1.7.2-bp17-mpi8.tar.gclusterserver:/source$ cd john-1.7.2-bp17-mpi8/src/clusterserver:/source/john-1.7.2-bp17-mpi8/src$ make此时你会看到一个选项清单。要创建John the Ripper,键入保持系统清空运行所需的系统如下所示:linux-x86-mmx Lin

37、ux, x86 with MMXlinux-x86-sse Linux, x86 with SSE2 (推荐)linux-x86-any Linux, x86linux-x86-64 Linux, AMD x86-64, 64-bit native w/SSE2 (推荐)linux-x86-64-mmx Linux, AMD x86-64, 32-bit with MMX我发现linux-x86-sse2在我基于Intel架构的工作站上运行效果最好。clusterserver:/source/john-1.7.2-bp17-mpi8/src$ make clean linux-x86-sse2

38、如果程序编译过程没问题,测试一下它能否正常工作。clusterserver:/source/john-1.7.2-bp17-mpi8/src$ ./run/john -format=DES testBenchmarking: Traditional DES 128/128 BS SSE2 DONEMany salts: 1994K c/s real, 1994K c/s virtualOnly one salt: 1658 c/s real, 1654K c/s virtual将你新编译出的可执行文件移动至/bin下。运行John程序并确保它是_mpi版本。如果仍然无法正确执行,那一定是你设置

39、的路径出了问题。clusterserver:/source/john-1.7.2-bp17-mpi8/src$ john|grep versionJohn the Ripper password cracker, version 1.7.2_bp17_mpi配置额外的节点每次在集群中新增节点,都需要遵循下列操作:该节点的IP地址为10.0.0.2前期准备一个静态IP地址或DHCP中保留的IP。网络配置遵循服务器配置中的相同步骤,但注意过程中要使用正确的IP地址。必备的软件包。与服务器设置时的要求相同。用户配置为集群选择与你在服务器上所设置的相同的密码。node1:$ sudo useradd

40、-m -s /bin/bash clusternode1:$ sudo passwd clusterEnter new UNIX password:Retype new UNIX password:passwd: password updated successfullynode1:$ sudo su cluster -c “mkdir /bin;export PATH=/bin:$PATH”MPICH配置下列命令应被从服务器上而非新节点上执行。节点上的密码设置与服务器相比,减少了SSH环节。clusterserver:$ ssh-keygen -t rsaGenerating public/

41、private rsa key pair.Enter file in which to save the key (/home/cluster/.ssh/id_rsa):Created directory /home/cluster/.sshEnter passpharse (empty for no passpharse):Enter same passpharse again:Your identification has been saved in /home/cluster/.ssh/id_rsa.Your public key has been saved in /home/clus

42、ter/.ssh/id_rsa.pub.The key fingerprint is:0f:d7:c4:14:cf:06:11:d5:80:ec:1f:c3:f3:3b:7f:22 clusterserverThe keys randomart image is(随机密钥图片如下):picture omitted(图片省略)clusterserver:$ ssh cluster10.0.0.2 mkdir -p .sshcluster10.0.0.2s password:clusterserver:$ cat .ssh/id_rsa.pub | ssh cluster10.0.0.2 cat.

43、ssh/authorized_keyscluster10.0.0.2s password:clusterserver:$ ssh cluster10.0.0.2 cat /proc/cpuinfo|grep processor|wc -l2clusterserver:$ echo 10.0.0.2:2 /mpd.hostsclusterserver:$ for i in cut delimiter=: -f1 /mpd.hosts;do scp /.mpd.conf cluster$i:;scp/mpd.hosts cluster$i:;doneThe authenticity of host 10.0.0.1 (10.0.0.1) cant be established.RSA key fingerprint is 2d:94:c6:40:b0:02:04:d9:86:c8:16:f3:e6:a7:9f:35.Are you sure you want to countinue connecting (yes/no)? YesWarning: Permanently added 10.0.0.1 (RSA) to the list of known hosts.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com