Aug18

挂载远程SSH服务器到本地

为什么要把远程的SSH挂载到本地呢?原因很简单,方便。可以用cp等系统命令完成上传操作,这样我就不用把文件复制到我的htdocs目录,然后用wget了。 办法也很简单,两步。 配置ssh自动登陆 配置自动挂载 先说配置自动登陆。 生成钥匙对 ssh-keygen -d 注意,要求你输入密码的时候不要输入任何密码。 上传公钥 ssh-copy-id -i ~/.ssh/berg_dsa.pub pmme.cn 如果你的ssh服务器不是默认端口那就不能用这个命令了,但是只要把~/.ssh/berg_dsa.pub这个文件放到远程服务器的~/.ssh/authorized_keys就行。不论你使用wget或者scp,都可以。 最后,修改配置文件。 cp /etc/ssh/ssh_config ~/.ssh/config vim ~/.ssh/config 将IdentityFile ~/.ssh/id_dsa这一行去掉注释并且修改成你自己的地址。 好了,现在你应该能够不用输入密码就登陆ssh服务器了。提醒一下,这样做比较不安全,建议经常更换公钥。 然后,就是自动挂载了。我们需要用到sshfs这个包。 sudo apt-get fuse-utils libfuse2 sshfs 要使用sshfs的用户需要先加到fuse这个用户组里,重新登陆后生效,不然会没有权限执行fusermount: 下面就很简单了。 sshfs berg@pmme.cn: mount_point 就mount到了你指定的位置 如果想开机就挂载,那也简单。在/etc/fstab中加入下面一行就OK sshfs#berg@pmme.cn: mount_point fuse defaults,auto,allow_other 0 0 umount是 fusemount -u mount_point 如果你还有什么问题,可以留言和我交流。 本文参考了fwolf的

trackback Tags: 评论

Apr8

解决Ubuntu无法自动mount U盘

不知道从什么时候开始,我的机器不能自动挂载U盘了,别人拿一个U盘过来以后,我只能从命令行sudo mount, 搞的神秘兮兮的……不过,的确很不方便 昨天晚上发现插上U盘以后,在nautilus的“计算机”里面多了一个U盘的图标,而点击的时候出现“无法使用pmount”,今天早上搜了一下: pmount可以看成是mount的wrapper,目的是运用suid的机制(不管是哪个user执行此程式,皆看成是以root执行之)让普通使用者可以执行mount。而pmount底下则使用pmount-hal,其运用hal(HAL, Hardware abstraction layer,主要是一个user-mode的application,维护device的information,user可以藉由HAL取得已知装置的资讯或者新装置的资讯)取得removable device的label或是mount参数等等资讯。 Ubuntu的automount下,刚插进去不久的USB drive马上就会在桌面上产生一个Icon,直接就mount好了,厉害的是,大概可以透过HAL得知装置的type,连我把K750i联接到USB上时,桌上出现的还是MS卡的图示,真是贴心。 我遇到的问题在于普通使用者无法使用pmount这支程式。问题在于”This program should be run as suid root”。pmount位于/usr/bin,其权限为”-rwsr-xr–“。因此只须把使用者加入plugdev这个group后 (/etc/group档案中,在plugdev那行最后加上user id就可),就可以使用pmount了。因此Ubuntu才能藉由pmount自动mount装置。我想其他的distribution也是大同小异吧。 via 但是按照上文提供的办法好像不对,因为我的用户的确是在plugdev组中的。于是想到,我前段时间将/usr文件夹独立出去的时候,好像弄乱了所有文件夹的权限,下一步就是修改pmount这个程序的权限了。修改好了,应该就能用……

trackback Tags: 评论 (1)