实现远程登陆的命令
(1)ssh命令
ssh命令是openssh套件中的顾客端联接工具,可以给与ssh加密合同实现安全的远程登陆服务器。ssh命令用于远程登陆上Linux主机。
常用格式:ssh[-llogin_name][-pport][user@]hostname
更详尽的可以用ssh-h查看。
句型:
ssh(选项)(参数)
选项:
-1:强制使用ssh协议版本1; -2:强制使用ssh协议版本2; -4:强制使用IPv4地址; -6:强制使用IPv6地址; -A:开启认证代理连接转发功能; -a:关闭认证代理连接转发功能; -b:使用本机指定地址作为对应连接的源ip地址; -C:请求压缩所有数据; -F:指定ssh指令的配置文件; -f:后台执行ssh指令; -g:允许远程主机连接主机的转发端口; -i:指定身份文件; -l:指定连接远程服务器登录用户名; -N:不执行远程指令; -o:指定配置选项; -p:指定远程服务器上的端口; -q:静默模式; -X:开启X11转发功能; -x:关闭X11转发功能; -y:开启信任X11转发功能。
参数:
远程主机:指定要连接的远程ssh服务器; 指令:要在远程ssh服务器上执行的指令。
举例:
不指定用户:
ssh 192.168.0.11
指定用户:
ssh -l root 192.168.0.11 ssh [email protected]
假如更改过ssh登陆端口的可以:
ssh -p 12333 192.168.0.11 ssh -l root -p 12333 216.230.230.114 ssh -p 12333 [email protected]
另外更改配置文件/etc/ssh/sshd_config,可以改ssh登陆端口和严禁root登入。改端口可以避免被端口扫描。
编辑配置文件:
vim /etc/ssh/sshd_config
找到#Port22,除去注释centos下http虚拟主机,更改成一个五位的端口:
Port 12333
找到#PermitRootLoginyes,除去注释centos下http虚拟主机,更改为:
PermitRootLogin no
重启sshd服务:
service sshd restart
当你使用ssh从本机登陆到远程主机时linux压缩命令,你可能希望切换到本地做一些操作,之后再重新回到远程主机。这个时侯,你不须要中断ssh联接,只须要根据如下步骤操作即可:
要临时回到本地主机,输入退出符号:“~”与“Control-Z”组合。当你输入“~”你不会立刻在屏幕上见到,当你按下而且按回车以后才一起显示。
(2)telnet命令
telnet命令一般拿来远程登陆。telnet程序是基于TELNET合同的远程登陆顾客端程序。要开始一个telnet会话,必须输入用户名和密码来登陆服务器。Telnet是常用的远程控制Web服务器的方式。并且,telnet由于采用明文传送报文,安全性不好,好多Linux服务器都不开放telnet服务,而改用更安全的ssh形式了。但依然有好多别的系统可能采用了telnet形式来提供远程登陆linux伊甸园,因而弄清楚telnet顾客端的使用方法仍是很有必要的。telnet命令还可做别的用途,例如确定远程服务的状态,确定远程服务器的某个端口是否能访问。
命令格式:
telnet[参数][主机]
命令功能:
执行telnet指令开启终端机阶段作业,并登入远端主机。
命令参数:
-8 允许使用8位字符资料,包括输入与输出。 -a 尝试自动登入远端系统。 -b 使用别名指定远端主机名称。 -c 不读取用户专属目录里的.telnetrc文件。 -d 启动排错模式。 -e 设置脱离字符。 -E 滤除脱离字符。 -f 此参数的效果和指定"-F"参数相同。 -F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。 -k 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。 -K 不自动登入远端主机。 -l 指定要登入远端主机的用户名称。 -L 允许输出8位字符资料。 -n 指定文件记录相关信息。 -r 使用类似rlogin指令的用户界面。 -S 设置telnet连线所需的IP TOS信息。 -x 假设主机有支持数据加密的功能,就使用它。 -X 关闭指定的认证形态。
示例:
正常telnet
telnet 192.168.120.204
输出:
[root@andy ~]# telnet 192.168.120.204 Trying 192.168.120.204... Connected to 192.168.120.204 (192.168.120.204). Escape character is '^]'. localhost (Linux release 2.6.18-274.18.1.el5 #1 SMP Thu Feb 9 12:45:44 EST 2012) (1) login: root Password: Login incorrect
说明:通常情况下不容许root从远程登陆,可以先用普通帐号登入,之后再用su-切到root用户。
(3)rlogin命令
rlogin命令用于从当前终端登陆到远程Linux主机。
格式:rloginRemoteHost[Character][][User][|][realm]
句型:
rlogin(选项)(参数)
选项:
-8:允许输入8位字符数据; -e脱离字符>:设置脱离字符; -E:滤除脱离字符; -l用户名称>:指定要登入远端主机的用户名称; -L:使用litout模式进行远端登入阶段操作。
参数:
远程主机:指定要登录的远程主机(ip地址或者域名)。
实例
显示rlogin服务是否开启
# chkconfig --list //检测rlogin服务是否开启
开启rlogin服务
# chkconfig rlogin on //开启rlogin服务
登录远程主机
# rlogin 192.168.1.88 Password: Password: Login incorrect Login:root Passwd: Login incorrect Login:kk Passwd:
指定用户名登录远程主机
# rlogin 192.168.1.88 -l hnlinux Passord: Last login:Mon May 28 15:30:25 from 192.168.1.88 #
执行远程主机命令的命令
(1)rexec命令
rexec命令用于在指定的远程Linux系统主机上执行命令,向远程rexec服务器发出执行命令的恳求。
句型:
rexec(选项)(参数)
选项:
-a:表示远程命令的标准错误与标准输出相同,不支持发送任意信号到远程进程; -l:指定连接远程rexec服务器的用户名; -p:指定连接远程rexec服务器的密码; -n:明确地提示输入用户名和密码。
参数:
远程主机:指定远程主机(ip地址或主机名); 命令:指定需要在远程主机上执行的命令。
实例:
要在一个远程主机上执行date命令,输入:
rexec host1 date
(2)rsh命令和remsh命令
rsh是"remoteshell"(远程shell)的简写。
该命令在指定的远程主机上启动一个shell并执行用户在rsh命令行手指定的命令。(执行远程主机上指定的命令或登陆至远程主机。)
假如用户没有给出要执行的命令,rsh就用rlogin命令使用户登陆到远程机上。remsh命令使您可以在远程系统上执行命令,而无需登陆到该系统。
rsh命令的通常格式是:
rsh [-Kdnx] [-k realm] [-l username] host [command]
通常常用的格式是:
rsh host [command]
command可以是从shell提示符下键人的任何Linux命令。
rsh命令中各选项的涵义如下:
-K 关闭所有的Kerbero确认。该选项只在与使用Kerbero确认的主机连接时才使用。 -d 打开与远程主机进行通信的TCP sockets的socket调试。要了解更多的信息,请查阅setsockopt的联机帮助。 -k 请求rsh获得在指定区域内的远程主机的Kerberos许可,而不是获得由krb_relmofhost(3)确定的远程主机区域内的远程主机的Kerberos许可。 -l 缺省情况下,远程用户名与本地用户名相同。本选项允许指定远程用户名,如果指定了远程用户名,则使用Kerberos 确认,与在rlogin命令中一样。 -n 重定向来自特殊设备/dev/null的输入。 -x 为传送的所有数据打开DES加密。这会影响响应时间和CPU利用率,但是可以提高安全性。
Linux把标准输入装入rsh命令中,并把它拷贝到要远程执行的命令的标准输入中。它把远程命令的标准输出拷贝到rsh的标准输出中。它还把远程标准错误拷贝到本地标准错误文件中。
任何退出、中止和中断讯号都被送到远程命令中。当远程命令中止了,rsh也就中止了