日期:2014-05-16  浏览次数:20720 次

使用SSH客户端远程登录Linux主机(可替代samba、ftp服务)



Linux系统起初就是为多用户而产生的,可以允许多个用户同时登录linux主机各自进行操作,如图1所示:

                          图1


SSH(Secure SHell)在linux中对应一种服务,即sshd,他在linux系统中一般默认是启动的,
可以通过 setup  -> sysyem configure  -> sshd 查看这个服务是否已经能选中
 
对应的在windows系统中有一个SSH客户端,他可以到网上下载。,这个工具具有远程登录、修改、上传文件的功能,他基本上可以替代samba服务器、FTP以及共享文件夹的功能。
在linux中sshd默认监听的端口号是22
 
在windows中安装好SSH客户端之后就可以通过SSH客户端连接Linux主机了。
但是这里需要注意的是,首先在windows的命令行中使用ping命令试一下看能否ping通Linux主机的IP,如果不能ping通则需要将两者的IP设置成同一网段的(192.168.222.xxx,这种设置仅对于局域网而言),如果设置成同一个网段之后还不能ping通则有可能是防火墙的问题。我出现的问题是windows下能ping通linux,而linux下却无法ping通windows,这是因为windows防火墙没关的原因
 
下面就是用SSH客户端登陆Linux主机
(1)打开SSH客户端点击QuickConnect,如图2所示

图2


然后填入远程主机的IP、用户名,点击connect后输入用户密码便可以进入到图3所示界面:


图3
这里和linux中的命令行编辑环境完全一致,用户就可以在这里进行各种命令操作了。
注:我使用的linux系统在默认情况下并没有安装ssh服务,客户端软件会给出一些提示,所以需要先安装这个服务,执行一下命令:
apt-get install openssh-client
apt-get inatall openssh-server
安装完成之后通过下面命令查看ssh是否已近启动:
ps –e | grep ssh
如果看到sshd说明ssh服务已经启动了
如果没有则可以这样启动:sudo /etc/init.d/ssh start
ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。
然后重启SSH服务:
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh start
 
(2)在远程登录之后,在再linux系统中输入命令 netstat –an  可以看到这里有一个远程的用户登录,如图4所示。(注这里有两个用户登录了Linux主机)


图4
 
192.168.222.1:1057后面这个1057端口号是在windows系统中使用SSH客户端登录时windows系统随机分配的
 
(3)两个系统共享文件
点击SSH客户端的下面这个按钮,如图5所示:


图5


然后就会出现类似FTP的界面,如图6所示:


图6
这样就可以实现两者的文件共享了
 
(4)Linux主机强制断开SSH用户
有时候当不希望某个SSH用户使用Linux主机时,可以在linux主机中通过kill命令杀掉其对应的进程来实现。
netstat –anp | more  (或者  ps –aux | more)
这个命令可以看到进程的端口号,如图7所示。


图7
然后执行 kill 1879 就可以使得IP为192.168.222.1这个用户断开连接(或者使用 kill -9 1879 这和命令能够强制杀死线程)