环境:本机器:ubuntu 9.04,服务器centos 5.x系列。
最近为了工作需要,开机启动将服务器的文件挂载到自己的工作区,
一开始采用smbmount进行挂载,建立项目进行开发。挂载里面的文件,每次保存时都会提示你文件已经修改需要你刷新整个项目,太麻烦了。都不敢随便保存。不实时保存容易出现的问题大家可想而知。
Samba 是为大家在windows和linux 进行文件共享量身定制的。但是对于linux而言就不尽人意了。
- smbmount 挂载可以直接在参数上面输入用户名和密码。当然开机挂载很容易了,命令如下:
- sudo /etc/rc.local;
smbmount //ip:/xxx /mnt/ -o user%pwd;
以上方式不推荐使用。
那么linux之间挂载采用什么方式呢 —— 有以下两种 nfs,sshfs。本人再用的是sshfs。
具体挂载命令如下。
- 安装 :sudo apt-get install sshfs;
-
sudo
sshfs user@ip-address:
/remote/directory
/www/
workspaces; - 开机自动挂载
sudo /etc/rc.local;
在exit 0 之前加上:
sshfs user@ip-address :/remote/directory
/www/
workspaces; - 但是这个中间需要输入密码。下面讲以下ssh无密码登录.
适用情景:
- 觉得输入密码烦躁的时候。
- 不得不从其他服务器scp文件的时候。
下面M表示本机,S表示服务器(或者目的ip)
- 首先在M运行ssh-keygen -t rsa;#dsa表示加密类型,exp:dsa,rsa
然后回车知道结束。 - cd ~/.ssh/;ls -l;会看见有下面几个文件
其中id_rsa 是私钥。id_rsa.pub是公钥。
将M中ssh生成的公钥复制下来。 - 接下来进如ssh 链接上S机器。
将公钥内容复制到S机器。
vi ~/.ssh/authorized_keys; - 在S机器将文件authorized_keys赋予600权限。
chmod 600 ~/.ssh/authorized_keys;
多个用户可以将自己机器内生成的公钥在authorized_keys下面复制进去。
这样就完成了。
vi /var/log/secure;可以看到登录记录。
卸载,方法使用umount /xxx就行。
出处: 马丁博客 [http://www.blags.org/ ]
本文链接地址: http://www.blags.org/ssh-without-password-between-linux/