详解Linux下你所不知道的7个SSH命令用法
一个系统管理员可能会同时管理着多台服务器,这些服务器也许会放在不同的地方。要亲自一台一台的去访问来管理它们显然不是最好的方法,通过远程控制的方法应该是最有效的。
Linux系统的远程管理工具大概有几种:telnet,ssh,vnc等,其中ssh是最常用的管理方法,采用密文的传输方式,简单安全。
SecureShell缩写是SSH,由IETF的网络工作小组(NetworkWorkingGroup)所制定,SSH是一项创建在应用层和传输层基础上的安全协议,为计算机的shell提供安全的传输和使用环境。
下面我们来介绍SSH的7大用法。
1.基本用法
最简单的用法就是不带参数,仅输入ssh再加上主机地址,比如:
ssh192.168.0.116
这种形式登陆主机,会默认使用当前用户进行登录。第一次连接的时候,SSH会确认目标主机的真实性,如果没有问题的话,输入yes即可。
如果我们想要以指定用户名来登录主机,有两种方法:
a.使用-l选项
ssh-lalvin192.168.0.116
b.使用user@hostname格式
sshalvin@192.168.0.116
这两种方法,其中第二种尤为常用。
2.指定端口登录
SSH默认使用的端口号是22。大多现代的Linux系统22端口都是开放的。如果你运行ssh程序而没有指定端口号,它直接就是通过22端口发送请求的。
如果我们不想通过22端口登录,那么我们可以使用-p选项来指定端口。
ssh192.168.0.116-p1234
引申话题:如何修改端口号?
只需修改/etc/ssh/ssh_config,修改如下一行:
Port22
3.对所有数据请求压缩
使用-C选项,所有通过SSH发送或接收的数据将会被压缩,并且任然是加密的。
ssh-C192.168.0.116
但是,这个选项在网速不是很快的时候比较有用,而当网速较快的时候,使用压缩反而会降低效率,所以要视情况使用。
4.打开调试模式
因为某些原因,我们想要追踪调试我们建立的SSH连接情况。SSH提供的-v选项参数正是为此而设的。其可以看到在哪个环节出了问题。
[Alvin.Alvin-computer]➤ssh-vpi@192.168.0.116 OpenSSH_7.1p2,OpenSSL1.0.1g7Apr2014 debug1:Readingconfigurationdata/etc/ssh_config debug1:Connectingto192.168.0.116[192.168.0.116]port22. debug1:Connectionestablished. debug1:key_load_public:Nosuchfileordirectory debug1:Enablingcompatibilitymodeforprotocol2.0 debug1:LocalversionstringSSH-2.0-OpenSSH_7.1 debug1:Remoteprotocolversion2.0,remotesoftwareversionOpenSSH_7.4p1Raspbian-10+deb9u4 debug1:match:OpenSSH_7.4p1Raspbian-10+deb9u4patOpenSSH*compat0x04000000 debug1:Authenticatingto192.168.0.116:22as'pi' debug1:SSH2_MSG_KEXINITsent debug1:SSH2_MSG_KEXINITreceived
5.绑定源地址
如果你的客户端有多于两个以上的IP地址,你就不可能分得清楚在使用哪一个IP连接到SSH服务器。为了解决这种情况,我们可以使用-b选项来指定一个IP地址。这个IP将会被使用做建立连接的源地址。
[Alvin.Alvin-computer]➤ssh-b192.168.0.105pi@192.168.0.116 Linuxraspberrypi4.14.71-v7+#1145SMPFriSep2115:38:35BST2018armv7l TheprogramsincludedwiththeDebianGNU/Linuxsystemarefreesoftware; theexactdistributiontermsforeachprogramaredescribedinthe individualfilesin/usr/share/doc/*/copyright. DebianGNU/LinuxcomeswithABSOLUTELYNOWARRANTY,totheextent permittedbyapplicablelaw. Lastlogin:SunFeb2408:52:292019from192.168.0.105
6.远程执行命令
如果我们想在目标主机执行一条命令,我们通常的做法是,先登录到目标主机,执行命令,再退出来。这样做当然是可以,但是比较麻烦。
如果我们仅仅是想远程执行一条命令,可以直接在后面跟上命令就好,如下:
[Alvin.Alvin-computer]➤sshpi@192.168.0.116ls-l Desktop Documents Downloads MagPi Music
7.挂载远程文件系统
另外一个很赞的基于SSH的工具叫sshfs。sshfs可以让你在本地直接挂载远程主机的文件系统。它的使用格式如下:
sshfs-oidmap=useruser@hostname:/home/user~/Remote
比如:
sshfs-oidmap=userpi@192.168.0.116:/home/pi~/Pi
以上所述是小编给大家介绍的LinuxSSH命令详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!