linux 之间ssh无密码登录

iammrziran 2011-04-24

环境:本机器:ubuntu 9.04,服务器centos5.x系列。

最近为了工作需要,开机启动将服务器的文件挂载到自己的工作区,

一开始采用smbmount进行挂载,建立项目进行开发。挂载里面的文件,每次保存时都会提示你文件已经修改需要你刷新整个项目,太麻烦了。都不敢随便保存。不实时保存容易出现的问题大家可想而知。

Samba是为大家在windows和linux进行文件共享量身定制的。但是对于linux而言就不尽人意了。

  1. smbmount 挂载可以直接在参数上面输入用户名和密码。当然开机挂载很容易了,命令如下:
  2. sudo /etc/rc.local;smbmount //ip:/xxx /mnt/ -o user%pwd;

以上方式不推荐使用。

那么linux之间挂载采用什么方式呢 —— 有以下两种 nfs,sshfs。本人再用的是sshfs。

具体挂载命令如下。

  1. 安装 :sudo apt-get install sshfs;
  2. sudo sshfs user@ip-address:/remote/directory /www/workspaces;
  3. 开机自动挂载

    sudo/etc/rc.local;

    在exit0之前加上:

    sshfs user@ip-address:/remote/directory /www/workspaces;
  4. 但是这个中间需要输入密码。下面讲以下ssh无密码登录.
适用情景:
  • 觉得输入密码烦躁的时候。
  • 不得不从其他服务器scp文件的时候。

下面M表示本机,S表示服务器(或者目的ip)

  1. 首先在M运行ssh-keygen -t rsa;#dsa表示加密类型,exp:dsa,rsa

    然后回车知道结束。

  2. cd~/.ssh/;ls-l;会看见有下面几个文件

    其中id_rsa是私钥。id_rsa.pub是公钥。

    将M中ssh生成的公钥复制下来。

  3. 接下来进如ssh链接上S机器。

    将公钥内容复制到S机器。

    vi~/.ssh/authorized_keys;

  4. 在S机器将文件authorized_keys赋予600权限。

    chmod600~/.ssh/authorized_keys;

    多个用户可以将自己机器内生成的公钥在authorized_keys下面复制进去。

这样就完成了。

vi /var/log/secure;可以看到登录记录。

linux 之间ssh无密码登录

卸载,方法使用umount /xxx就行。

出处: 马丁博客http://www.blags.org/

本文链接地址: http://www.blags.org/ssh-without-password-between-linux/

相关推荐