Linux下通过SSH登录另一台Linux服务器
15.2登录另一台Linux服务器作为一款服务器操作系统,Linux充分考虑了远程登录的问题。无论是从Linux、Windows还是其他一些操作系统登录到Linux都是非常方便的。支持多个用户同时登录对于服务器而言非常重要--这正是Linux擅长的。
有多种不同的协议可供选择,但SSH也许是其中"最好"的。这种协议提供了安全可靠的远程连接方式,SSH将贯穿于本节的讨论中。
15.2.1安全的Shell:SSH
SSH是secure shell的简写,意为"安全的shell"。作为rlogin、rcp、telnet这些"古老"的远程登录工具的替代品,SSH会对用户的身份进行验 证,并加密两台主机之间的通信。SSH在设计时充分考虑到了各种潜在的攻击,给出了有效的保护措施。尽管现在SSH已经转变为一款商业产品SSH2,但开 放源代码社区已经发布了OpenSSH软件作为回应。这款免费的开源软件由FreeBSD负责维护,并且实现了SSH协议的完整内容。
要从Linux下通过SSH登录另一台Linux服务器非常容易--前提是在远程服务器上拥有一个用户账号。打开Shell终端,执行ssh -l login_name hostname命令,应该把login_name替换成真实的用户账号,把hostname替换成服务器主机名(或者IP地址)。下面这条命令以liu 用户的身份登录到IP地址为10.71.84.145的Linux服务器上。
$ ssh -l liu 10.71.84.145
如果是初次登录,SSH可能会提示无法验证密钥的真实性,并询问是否继续建立连接,回答yes继续。用户口令验证通过后,SSH会反馈上次登录情况并以一句"Have a lot of fun..."作为问候。
The authenticity of host '10.71.84.145
(10.71.84.145)' can't be established.
RSA key fingerprint is c9:58:fd:e4:dc:
4b:4a:bb:03:d7:9b:87:a3:bc:6a:b0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.71.84.145'
(RSA) to the list of known hosts.
Password:
Last login: Sun Nov9 10:38:30 2008 from console
Have a lot of fun...
liu@linux-dqw4:~>
注意Shell提示符前的用户和主机名改变了,表示当前已经登录到这台名为linux-dqw4(IP地址10.71.84.145)的服务器上。接下来的操作读者应该很熟悉了,例如用ls命令查看当前目录中的文件信息。
lewis@linux-dqw4:~> ls
binDesktopDocumentspublic_html
时刻记住当前做的所有操作都发生在远程服务器上。当连接到几台不同的服务器时,管理员常常会在来回切换Shell的过程中搞糊涂。因此,尽量不要同 时开启3个以上的远程Shell。时刻注意Shell提示符前的主机名,并且在执行重要操作时保持警惕,是避免灾难的重要途径。
注意:在任何时候直接使用root账号登录远程主机都不是一个好习惯。正确的做法应该是使用受限账号登录,然后在需要的时候通过su或者sudo 命令临时取得root权限。
完成工作后,使用exit命令可以结束同远程主机的SSH连接,这将把用户带回到建立连接前的Shell中。
lewis@linux-dqw4:~> exit
logout
Connection to 10.71.84.145 closed.
lewis@lewis-laptop:~/shell$
SSH服务默认开启在22号端口,服务器的守护进程在22号端口监听来自客户端的请求。如果服务器端的SSH服务没有开启在22端口(这通常是为了 防范居心不良端口扫描程序),那么可以通过SSH的-p选项指定要连接到的端口。下面这条命令指导SSH连接到远程服务器的202端口。
$ ssh -l liu -p 202 10.71.84.145
如果用户需要在远程主机上运行X应用程序,那么首先应该保证对方服务器开启了X窗口系统,然后使用带-X参数的SSH命令显式启动X转发功能。
lewis@lewis-laptop:~/shell$ ssh -X -l liu 10.71.84.145
Password:
Last login: Sun Nov9 13:41:20 2008 from 10.71.84.18
Have a lot of fun...
下面这条命令在所登录到的服务器上运行Firefox浏览器,注意服务器会反馈一系列信息告诉用户此刻发生了什么。
liu@linux-dqw4:~> firefox
Launching a SCIM daemon with Socket FrontEnd...
Loading simple Config module ...
Creating backend ...
Reading pinyin phrase lib failed
Loading socket FrontEnd module ...
Starting SCIM as daemon ...
GTK Panel of SCIM 1.4.7
...
SSH会把对方服务器上的Firefox界面完完整整地传输到本地,这样用户就可以在当前PC上使用远程服务器上的Firefox了。如果两台主机距离比较长,或者网络状况不太理想的话,那么传输一个X应用程序界面会比较慢,但最终应该能出现在本机的屏幕上。
页:
[1]