2009年5月23日星期六

Ssh without typing passwd

Blogspot被墙了,只好发到这里了。

在公司的时候,总是有这样的需求:你需要ssh或者scp东西到别人的机器上面,有时候会比较频繁,但是每次都得你的目标机的人过来输一下密码,很麻烦,效率也很低。

在看一篇hadoop的文章的时候看到了一些ssh,和公钥的用法(唉,没办法,比较土,现在才知道),可以避免输密码。

我这里就直接抄下来了,版权都在原作者.

使用三台机器,机器名分别为 homer06, homer07, homer08,均安装 Redhat Enterprise Linux 5.0 (其它 Linux 发行版亦可), 确保各台机器之间网络畅通,机器名与 IP 地址之间解析正确,从任一台机器都可以 ping 通其它机器的机器名。如有机器名的解析问题,可通过设置 /etc/hosts 文件解决,当然更好的解决方法是在你的网络中配置 DNS 服务器。此外,需要在三台机器上创建相同的用户帐号,如 caoyuz, 或直接使用 root 帐号亦可。

在 Hadoop 分布式环境中,Name Node (主节点) 需要通过 SSH 来启动和停止 Data Node (从结点)上的各类进程。我们需要保证环境中的各台机器均可以通过 SSH 登录访问,并且 Name Node 用 SSH 登录 Data Node 时,不需要输入密码,这样 Name Node 才能在后台自如地控制其它结点。可以将各台机器上的 SSH 配置为使用无密码公钥认证方式来实现。

现在流行的各类 Linux 发行版一般都安装了 SSH 协议的开源实现 OpenSSH, 并且已经启动了 SSH 服务, 即这些机器缺省应该就是支持 SSH 登录的。如果你的机器缺省不支持 SSH, 请下载安装 OpenSSH。

以下是配置 SSH 的无密码公钥认证的过程。首先,在 homer06 机器上执行命令,如代码清单 1 所示:


代码清单1




homer06: $ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/caoyuz/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/caoyuz/.ssh/id_rsa.
Your public key has been saved in /home/caoyuz/.ssh/id_rsa.pub.
The key fingerprint is:
2e:57:e2:bf:fd:d4:45:5c:a7:51:3d:f1:51:3c:69:68 root@krusty04


这个命令将为 homer06 上的当前用户 caoyuz 生成其密钥对,密钥对的保存路径使用缺省的 /home/caoyuz/.ssh/id_rsa, 要求输入 passphrase 的时候,直接回车。这样生成的证书以及公钥将存储在 /home/caoyuz/.ssh 目录,形成两个文件 id_rsa,id_rsa.pub。然后将 id_rsa.pub 文件的内容复制到每一台机器(包括本机 homer06)的  /home/caoyuz/.ssh/authorized_keys 文件的尾部,如果机器上不存在  /home/caoyuz/.ssh/authorized_keys 文件,可以自行创建一个。请注意 id_rsa.pub 文件的内容是长长的一行,复制时需注意,不要遗漏字符或混入了多余换行符。

接下来可以做一下 SSH 连接测试,从 homer06 分别向 homer06, homer07, homer08 发起 SSH 连接请求,确保不需要输入密码就能 SSH 连接成功。注意第一次 SSH 连接时会出现如下提示信息:

The authenticity of host [homer06] can't be established. The key fingerprint is: 74:32:91:f2:9c:dc:2e:80:48:73:d4:53:ab:e4:d3:1a Are you sure you want to continue connecting (yes/no)?

请输入 yes, 这样 OpenSSH 会把连接过来的这台主机的信息自动加到 /home/caoyuz/.ssh/know_hosts 文件中去,第二次再连接时,就不会有这样的提示信息了。

2009年5月20日星期三

Leaving Cellon - The First Job

Mark for the quit the first Job, Cellon ShenZhen. The moment I write the last mail to everyone I know, I feel hard. I want to tpying many words, but it's too hard to typing, since I want make this leaving normal, make this leaving like adult. Finally, I wrote a short message to obtain the wishes. The most impressive is from Jimmy.Liu, the boss of my boss, said, I was the youngest but the best member in Smart Phone SW team. We touch very few times, but he knows me. I'm gratified and encouraged.

It's hard to leaving. I have been with this team for almost one year, we was failed on the O8K project. But the lastest half-year, we can see the hope, the project like my child, growing up by our hands. For now, I just with my best wishes to the project, and to everyone.

This year also my working in a remote city, far from my family, my lover, It's very hard also. I hope the stituation will be better, I can together with my lover soon.

We are so young! We fighting! Fighting for our dream!

2009年5月6日星期三

Linux hard link

You may confused what the hard link is, and why the delete file use the unlink(2) system call. this example will help you somehow.


assumption, there is a file in /tmp/a.txt

$ cat /tmp/a.txt
hello, i'm a.txt

then, we write this test.c
test.c:
#include
int main(void)
{
link("/tmp/a.txt", "/tmp/new_a.txt");
/* in this moment, the a.txt have same content with new_a.txt */
unlink("/tmp/a.txt");
/* in this moment, a.txt will be delete */
}

we compile the test.c
$gcc test.c

and run it
$./a.out

$ cat /tmp/new_a.txt
hello, i'm a.txt

Use hard link is the simplest and the fastest way move files within the same filesystem, since hard link cann't across filesystem.

More infomation you need check the link(2) or the unix filesystem design.

2009年5月3日星期日

【转】必胜客沙拉吃法

转自: http://food.poco.cn/sitologyDetail.htx&id=5969

我原本对必胜客一无所知,但是最近和一个在必胜客做兼职的朋友聊天,发现了许多经济实惠的吃法,与大家分享:

  自助沙拉

  自助沙拉28元一份,要想实惠,盛沙拉者的水平是很重要的。我的建议是首先用老玉米或者你们喜欢的豆类把沙拉碗盛满,盛到与碗沿平起,然后依据我的口 味,我喜欢用黄瓜片和菠萝片交叉叠放在一起,同样是要沿着碗沿的,中间可以放如你们喜欢的其他的水果,我喜欢黄桃,而且成本高哦,呵呵!然后在放上一些坚 果,最后再弄一圈沙拉酱。注意,如果只是初去者,不要太贪心,码得太高,要知道要是弄洒了是很现眼的哦!最好是挑一个离沙拉吧近的位置,这个一进必胜客就 能向服务员要求的!

  上次去必胜客,某女生站在沙拉台差不多半小时,小心奕奕的摆着沙拉,最底一层是生菜,往上装点别的,在快和碗边平高的时候再在碗边铺一层黄瓜片或比较大块的水果,成莲花状,如是者一层又一层,最后该盘沙拉足有25公分高!!决不 bt!!然后,该mm捧起碗,小心奕奕的走到距离沙拉台最远的角落位置坐下,途中无任何的沙拉掉下,干脆利落,整个必胜客的服务生和顾客看的眼睛都不眨一下......

  今天在必胜客见到的,碗上周圈的绿色是黄瓜片,摆的非常整齐漂亮,要不是被店员制止垒得还能更高。从我进去开始盛沙拉(当时黄瓜片已经落了6层)到我卖单时(被服务员制止)为时将近1小时。

  但我不明白必胜客既然有此沙拉自助的规 矩又为什么制止此位高手的行为,也许是怕他和他的客人吃不完?不明白。要是换我定会在能吃完的前提下找他们理论一番。因为在必胜客看谁沙拉盛的多已成为一种风尚,不是贪小便宜的概念,我如果是老板还会定期举办盛沙拉比赛。

  中午去 必胜客 吃PIZZA,我一进门就看见一个女的在那里盛沙拉,我就坐在沙拉台旁边,从我进来到吃完饭,那个女的就一直在那里站着,因为她一直背对着我,我就没太 注意她在干什么,然后我就一直看着她,因为长时间低着头,她的脖子好像酸了,所以一侧身抬起脑袋晃了晃,随后我就看见桌子上摆着的东西。

  当时我都傻了,惊讶的:啊?了一声,当时声音挺大,旁边吃饭的人都看我,但我的眼睛一直看着桌子上的东西,吃饭的人也顺着我的目光看了过去,他们看见了也一口同声"啊?"当时那场面特逗,弄的那女孩都不好意思了,其实她还想接着盛,但是太不好意思了, 就要走,然后我就拿起手机,走到沙拉台前,照了这张照片。后来我注意了一下她,她是和另外一个女孩来的,别的没要,就花了28要了一个沙拉~~~真够战士的~~

我 给你讲一下要诀。虽然我现在已经不干这事了。周边的辣椒圈和洋葱圈要交错环排,白绿相间,如叶似瓣,记得要交错排列,中间部位的最上面浇满了如白雪般的沙 拉酱,其上还布洒着五颜六色的花花豆豆,沙拉酱相当于水泥,用许多螺旋状的胡萝卜条插在表面,根根直立,起钢筋的作用。

  最重要的是,充分发挥了食品建筑工程学的基本原理,大量使用黄桃这一优质建材,不但结构坚实具有良好的直立性,而且还不易出水溃塌。如果没有了它,一切都是歇菜。

   外国人去必胜客是去吃比萨饼,而不是去吃沙拉的,说白了,人家没把沙拉当回事儿,到我们这儿,偏偏就把沙拉当回事。这是文化的不同,此外还有经济实力的 不同。100多元吃一顿比萨饼对大部分的中国人来说还有些奢侈,就容易拿'免费'的沙拉找平衡。打个比方,国外吃比萨饼白给沙拉,就像我们喝粥给咸菜一 样,你说我们素质低吗?可咸菜我们并没多盛啊!
偶跟一个同事堆过一次超强的。。。

纯属吃饱了没事干。。。

当时我们端着那盘沙拉堡垒一路走到座位上

半个厅的人都看着我们

然后。。。

听到很多人在喊:给我们加一份沙拉。。。

一个个跃跃欲试很兴奋滴样子