详解Linux下你所不知道的7个SSH命令⽤法
⼀个系统管理员可能会同时管理着多台服务器,这些服务器也许会放在不同的地⽅。要亲⾃⼀台⼀台的去访问来管理它们显然不是最好的⽅法,通过远程控制的⽅法应该是最有效的。
Linux系统的远程管理⼯具⼤概有⼏种:telnet,ssh,vnc等,其中ssh是最常⽤的管理⽅法,采⽤密⽂的传输⽅式,简单安全。
Secure Shell缩写是SSH,由IETF的⽹络⼯作⼩组(Network Working Group)所制定,SSH是⼀项创建在应⽤层和传输层基础上的安全协议,为计算机的shell提供安全的传输和使⽤环境。
下⾯我们来介绍 SSH 的 7 ⼤⽤法。
1. 基本⽤法
最简单的⽤法就是不带参数,仅输⼊ ssh 再加上主机地址,⽐如:
ssh 192.168.0.116
这种形式登陆主机,会默认使⽤当前⽤户进⾏登录。第⼀次连接的时候,SSH 会确认⽬标主机的真实性,如果没有问题的话,输⼊ yes 即可。
如果我们想要以指定⽤户名来登录主机,有两种⽅法:
a. 使⽤ -l 选项
ssh -l alvin 192.168.0.116
b. 使⽤ user@hostname 格式
ssh alvin@192.168.0.116
这两种⽅法,其中第⼆种尤为常⽤。
2. 指定端⼝登录
SSH 默认使⽤的端⼝号是 22。⼤多现代的 Linux 系统 22 端⼝都是开放的。如果你运⾏ ssh 程序⽽没有指定端⼝号,它直接就是通过 22 端⼝发送请求的。
如果我们不想通过 22 端⼝登录,那么我们可以使⽤ -p 选项来指定端⼝。
ssh 192.168.0.116 -p 1234
引申话题:如何修改端⼝号?
只需修改 /etc/ssh/ssh_config ,修改如下⼀⾏:
Port 22
3. 对所有数据请求压缩
使⽤ -C 选项,所有通过 SSH 发送或接收的数据将会被压缩,并且任然是加密的。
ssh -C 192.168.0.116
但是,这个选项在⽹速不是很快的时候⽐较有⽤,⽽当⽹速较快的时候,使⽤压缩反⽽会降低效率,所以要视情况使⽤。
4. 打开调试模式
因为某些原因,我们想要追踪调试我们建⽴的 SSH 连接情况。SSH 提供的 -v 选项参数正是为此⽽设的。其可以看到在哪个环节出了问题。
[Alvin.Alvin-computer] ➤ ssh -v pi@192.168.0.116
ssh命令指定端口OpenSSH_7.1p2, OpenSSL 1.0.1g 7 Apr 2014
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to 192.168.0.116 [192.168.0.116] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.1
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4p1 Raspbian-10+deb9u4
debug1: match: OpenSSH_7.4p1 Raspbian-10+deb9u4 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 192.168.0.116:22 as 'pi'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
5. 绑定源地址
如果你的客户端有多于两个以上的 IP 地址,你就不可能分得清楚在使⽤哪⼀个 IP 连接到 SSH 服务器。为了解决这种情况,我们可以使⽤ -b 选项来指定⼀个IP 地址。这个 IP 将会被使⽤做建⽴连接的源地址。
[Alvin.Alvin-computer] ➤ ssh -b 192.168.0.105 pi@192.168.0.116
Linux raspberrypi 4.14.71-v7+ #1145 SMP Fri Sep 21 15:38:35 BST 2018 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Feb 24 08:52:29 2019 from 192.168.0.105
6. 远程执⾏命令
如果我们想在⽬标主机执⾏⼀条命令,我们通常的做法是,先登录到⽬标主机,执⾏命令,再退出来。这样做当然是可以,但是⽐较⿇烦。
如果我们仅仅是想远程执⾏⼀条命令,可以直接在后⾯跟上命令就好,如下:
[Alvin.Alvin-computer] ➤ ssh pi@192.168.0.116 ls -l
Desktop
Documents
Downloads
MagPi
Music
7. 挂载远程⽂件系统
另外⼀个很赞的基于 SSH 的⼯具叫 sshfs。 sshfs 可以让你在本地直接挂载远程主机的⽂件系统。它的使⽤格式如下:
sshfs -o idmap=user user@hostname:/home/user ~/Remote
⽐如:
sshfs -o idmap=user pi@192.168.0.116:/home/pi ~/Pi
以上所述是⼩编给⼤家介绍的Linux SSH命令详解整合,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。