>  기사  >  운영 및 유지보수  >  당신이 모르는 리눅스에서의 SSH 명령 사용법 7가지

당신이 모르는 리눅스에서의 SSH 명령 사용법 7가지

步履不停
步履不停원래의
2019-06-19 17:37:072548검색

당신이 모르는 리눅스에서의 SSH 명령 사용법 7가지

시스템 관리자는 동시에 여러 서버를 관리할 수 있으며 이러한 서버는 서로 다른 위치에 배치될 수 있습니다. 물론 직접 일일이 관리하는 것이 최선의 방법은 아닙니다. 원격 제어 방법이 가장 효과적이어야 합니다.

Linux 시스템에는 telnet, ssh, vnc 등 여러 가지 원격 관리 도구가 있습니다. 그중 ssh는 가장 일반적으로 사용되는 관리 방법으로 암호문 전송을 사용하므로 간단하고 안전합니다.

Secure Shell의 약자는 IETF의 Network Working Group(Network Working Group)에서 제정한 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
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

SSH의 7가지 주요 용도를 소개하겠습니다.

1. 기본 사용법

가장 간단한 사용법은 매개 변수 없이 입력하는 것입니다. ssh와 호스트 주소만 입력하면 됩니다. 예:

sshfs -o idmap=user user@hostname:/home/user ~/Remote
이 형식으로 호스트에 로그인하면 현재 사용자 기본적으로 로그인하는 데 사용됩니다. 처음 연결할 때 SSH는 대상 호스트의 신뢰성을 확인합니다. 문제가 없으면 yes를 입력합니다. 지정된 사용자 이름으로 호스트에 로그인하려면 다음 두 가지 방법이 있습니다. a -l 옵션을 사용합니다
sshfs -o idmap=user pi@192.168.0.116:/home/pi ~/Pi
b. format
rrreee이 두 가지 방법 중 두 번째 방법이 특히 일반적으로 사용됩니다.

2. 로그인할 포트를 지정하세요

SSH에서 사용하는 기본 포트 번호는 22입니다. 대부분의 최신 Linux 시스템에는 포트 22가 열려 있습니다. 포트 번호를 지정하지 않고 ssh 프로그램을 실행하면 포트 22를 통해 직접 요청이 전송됩니다. 🎜🎜포트 22를 통해 로그인하지 않으려면 -p 옵션을 사용하여 포트를 지정할 수 있습니다. 🎜rrreee🎜확장된 주제: 포트 번호를 변경하는 방법은 무엇입니까? 🎜🎜/etc/ssh/ssh_config를 수정하고 다음 줄을 수정하세요: 🎜rrreee

3. 모든 데이터에 대한 압축 요청

🎜-C 사용 옵션을 선택하면 SSH를 통해 보내거나 받는 모든 데이터가 압축되고 암호화됩니다. 🎜rrreee🎜 하지만 이 옵션은 인터넷 속도가 그다지 빠르지 않을 때 더 유용합니다. 인터넷 속도가 빠르지 않을 때 압축을 사용하면 효율성이 떨어지므로 상황에 맞게 사용하세요. 🎜

4. 디버깅 모드 켜기

🎜어떤 이유로 우리는 우리가 설정한 SSH 연결을 추적하고 디버깅하려고 합니다. 이를 위해 SSH에서 제공하는 -v 옵션 매개변수가 설계되었습니다. 문제가 발생한 위치를 확인할 수 있습니다. 🎜rrreee

5. 소스 주소 바인딩

🎜클라이언트에 2개 이상의 IP 주소가 있는 경우 SSH 서버에 연결하는 데 어떤 IP가 사용되는지 알 수 없습니다. 이 상황을 해결하려면 -b 옵션을 사용하여 IP 주소를 지정할 수 있습니다. 이 IP는 연결을 설정하기 위한 소스 주소로 사용됩니다. 🎜rrreee

6. 명령의 원격 실행

🎜대상 호스트에서 명령을 실행하려는 경우 일반적인 접근 방식은 먼저 대상 호스트에 로그인하고 명령을 실행한 다음 종료하는 것입니다. 물론 이렇게 하는 것도 가능하지만 그게 더 번거롭습니다. 🎜🎜명령을 원격으로 실행하려면 다음과 같이 명령을 직접 따르면 됩니다. 🎜rrreee

7. 원격 파일 시스템 마운트

🎜라는 또 다른 훌륭한 SSH 기반 도구 SSHFS. sshfs를 사용하면 원격 호스트의 파일 시스템을 로컬로 직접 마운트할 수 있습니다. 사용 형식은 다음과 같습니다. 🎜rrreee🎜예: 🎜rrreee🎜🎜🎜🎜더 많은 Linux 기사를 보려면 🎜🎜Linux Tutorial🎜🎜🎜🎜 칼럼을 방문하여 알아보세요! 🎜🎜

위 내용은 당신이 모르는 리눅스에서의 SSH 명령 사용법 7가지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.