SSH是指Secure Shell,是一种安全的传输协议。
Ubuntu客户端通过SSH访问远程服务器
,以下步骤是客户端
的配置方法:
1. sudo apt-get install ssh
2. ssh-keygen
(按回车设置默认值)
按缺省生成id_rsa和id_rsa.pub文件,分别是私钥和公钥。
假定服务器ip为61.145.34.33,ssh服务的端口号为22,服务器上有个用户为root;
用ssh登录服务器的命令为:
>ssh -l root 61.145.34.33 -p 22
>输入root用户的密码
注:第2可以省略,因为这一步的配置目的为了今后访问服务器不需要密码
具体ssh-keygen操作流程如下链接:
http://blog.csdn.net/wh_19910525/article/details/7433164
sshfs映射远程文件系统为本地磁盘
Ubuntu客户端通过sshfs将远程服务器的文件系统映射为本地磁盘,以下步骤为客户端的配置方法:
1. sudo apt-get install sshfs
2. sshfs 用户名@远程服务器名:远程目录 映射至本地的目录
"执行命令后 Ubuntu 会自动在桌面上显示挂载的 sshfs 文件系统盘,现在你就可以像操作本地磁盘一样操作这个映射的磁盘了。"
注:我执行这行命令时,报错了,起先我用的服务器地址是IP地址,如:[email protected]:,这个后来才发现其实没有问题,但是还是报出这样的错误:Read:Connection reset by peer.可想而知,是链接错误,但不知道是服务器问题还是本机问题,ping能ping通,说明网络没有问题,后来网上一查,使用sshfs的用户需要将其加入fuse用户组里,fuse用户组这里不再赘述,于是试图用命令usermode -a -G fuse rainey将本地用户加入fuse组,但是又遇到问题:usermode: cannot lock /etc/password; try again later。后来发现这个错误,其实就是usermode 需要超级用户权限,于是在命令前加个sudo顺利解决。接下来再次尝试映射(挂载)目标服务器的文件系统,但这次,我不经意间把服务器的地址用成了名称,而不是IP,果断报错,错误跟原来的一样:Read:Connection reset by peer.所以千万要注意了:尝试用sshfs挂载的时候,服务器的地址必须是IP地址,如:[email protected]:。接下来就是访问权限设置问题了,解决方法很多,网上有很多资料的,自己找找吧,我是把自己的用户加入了超级用户组。
后记:我的目的是为了本地的eclipse能顺利的导入远程源码,发现用户权限着实让人头疼,即使你命令行下得到超级权限,你在eclipse下仍然不能访问这个文件夹,后来一想,如果把文件系统挂载到主目录,会怎么样,/home/rainey,果然不受权限限制,可以happy地把服务器上的源代码哪导入eclipse啦。