>운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux SysOps에서 SSH 간소화된 작업 명령을 사용하기 위한 팁

Linux SysOps에서 SSH 간소화된 작업 명령을 사용하기 위한 팁

王林
王林원래의
2023-09-27 11:51:34797검색

Linux SysOps中使用SSH精简操作命令的技巧

SSH를 사용하여 Linux SysOps에서 작업 명령을 단순화하는 팁

소개:
Linux 시스템 운영 및 유지 관리 작업에서 일반적으로 사용되는 원격 로그인 프로토콜인 SSH(Secure Shell)는 다음을 통해 서버에 원격으로 연결할 수 있습니다. SSH 및 실행된 주문. 그러나 SSH를 사용하면 많은 반복 작업을 수행할 때 지루하고 비효율적일 수 있습니다. 이 기사에서는 SSH를 사용하여 작업 명령을 간소화하고 SysOps가 특정 코드 예제를 통해 작업 효율성을 향상시키는 데 도움이 되는 몇 가지 기술을 소개합니다.

1. SSH 구성 파일 사용
SSH 구성 파일은 사용자 홈 디렉터리 아래의 ~/.ssh 디렉터리에 있습니다. 구성 파일을 사용하면 여러 SSH 연결 구성을 쉽게 저장하고 연결 속도와 보안을 향상시킬 수 있습니다. 다음은 간단한 SSH 구성 파일의 예입니다.

Host server1
    Hostname 192.168.1.100
    User myuser
    Port 22
    IdentityFile ~/.ssh/id_rsa

Host server2
    Hostname 192.168.1.101
    User myuser
    Port 22
    IdentityFile ~/.ssh/id_rsa

이러한 구성 파일을 통해 다음 명령을 사용하여 구성 파일에 지정된 서버에 연결할 수 있습니다:

ssh server1ssh server1

二、使用SSH密钥对
为了避免每次SSH连接都需要输入密码,我们可以使用SSH密钥对来完成无密码登录。以下是使用密钥对的步骤:

  1. 生成密钥对:
    ssh-keygen -t rsa
  2. 将公钥复制到服务器上:
    ssh-copy-id server
  3. 测试无密码登录:
    ssh server

三、使用SSH命令跳板机
在一些情况下,我们需要通过跳板机连接到目标服务器。SSH命令通过ProxyJump参数可以实现这一功能。以下是一个示例:

ssh -J jumpuser@jumpserver destinationuser@destinationserver

这样就可以直接从本地连接到目标服务器,跳过跳板机。

四、使用SSH批量执行命令
当我们需要在多个服务器上执行同一命令时,可以使用SSH批量执行命令的方式,而不需要逐个登录到每台服务器。以下是一个示例:

for server in $(cat servers.txt); do ssh $server "command"; done

这个命令会从servers.txt文件中逐行读取服务器IP,然后连接到每个服务器,并执行指定的命令。

五、使用SSH管道和远程端口转发
在某些情况下,我们可能需要通过SSH在本地和远程服务器之间建立一条加密的管道,或者进行远程端口转发。以下是一个示例:

ssh -L localport:localhost:remoteport server

2. SSH 키 쌍 사용

각 SSH 연결에 비밀번호를 입력할 필요가 없도록 SSH 키 쌍을 사용하여 비밀번호 없는 로그인을 완료할 수 있습니다. 키 쌍을 사용하는 단계는 다음과 같습니다.

  1. 키 쌍 생성:

    ssh-keygen -t rsa

  2. 공개 키를 서버에 복사합니다. :
    ssh-copy-id 서버
  3. 비밀번호 없는 로그인 테스트: ssh 서버

3 SSH 명령을 사용합니다. Springboard
어떤 경우에는 스프링보드를 통해 대상 서버에 연결해야 합니다. SSH 명령은 ProxyJump 매개변수를 통해 이 기능을 수행할 수 있습니다. 예는 다음과 같습니다.

🎜ssh -J jumpuser@jumpserver Destinationuser@destinationserver🎜🎜이를 통해 점프 서버를 건너뛰고 로컬로 대상 서버에 직접 연결할 수 있습니다. 🎜🎜4. SSH를 사용하여 일괄 명령 실행🎜여러 서버에서 동일한 명령을 실행해야 하는 경우 SSH를 사용하여 각 서버에 하나씩 로그인하지 않고도 일괄 명령을 실행할 수 있습니다. 다음은 예입니다: 🎜🎜for server in $(catservers.txt); do ssh $server "command"; done🎜🎜이 명령은 서버에서 한 줄씩 읽습니다. txt 파일 IP를 입력한 후 각 서버에 연결하여 지정된 명령을 실행합니다. 🎜🎜5. SSH 파이프 및 원격 포트 전달 사용🎜 경우에 따라 SSH를 통해 로컬 서버와 원격 서버 간에 암호화된 파이프를 설정하거나 원격 포트 전달을 수행해야 할 수도 있습니다. 다음은 그 예입니다: 🎜🎜ssh -L localport:localhost:remoteport server🎜🎜 이 명령은 로컬 포트 ​​localport를 원격 서버의 포트 remoteport에 바인딩하여 원격 서버에 직접 액세스할 수 있도록 합니다. 서비스를 로컬로 제공합니다. 🎜🎜결론: 🎜SSH 구성 파일, 키 쌍, 스프링보드, 명령 일괄 실행, 파이프라인 및 원격 포트 전달을 사용하여 Linux SysOps 작업에서 명령 작동을 간소화하고 효율성을 향상시킬 수 있습니다. 위의 팁이 SysOps 작업자에게 도움이 되기를 바랍니다. 🎜🎜작성자: Intelligent Assistant🎜날짜: 2021년 10월 20일🎜

위 내용은 Linux SysOps에서 SSH 간소화된 작업 명령을 사용하기 위한 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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