ssh
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| ssh [2022/01/04 18:05] – [SSH remote command] rex8312 | ssh [2025/06/29 16:45] (현재) – [ssh: port forward] rex8312 | ||
|---|---|---|---|
| 줄 33: | 줄 33: | ||
| (클라이언트에서 서버에) 키 복사 | (클라이언트에서 서버에) 키 복사 | ||
| + | # (1) | ||
| ssh-copy-id -i ${HOME}/ | ssh-copy-id -i ${HOME}/ | ||
| | | ||
| + | # (2) | ||
| # 클라이언트의 id_rsa.pub 파일내용을 서버의 .ssh/ | # 클라이언트의 id_rsa.pub 파일내용을 서버의 .ssh/ | ||
| # 클라이언트의 id_rsa.pub 파일을 서버에 복사하고 authorized_keys에 수동으로 추가해도 됨 | # 클라이언트의 id_rsa.pub 파일을 서버에 복사하고 authorized_keys에 수동으로 추가해도 됨 | ||
| 줄 41: | 줄 43: | ||
| cat id_rsa.pub >> .ssh/ | cat id_rsa.pub >> .ssh/ | ||
| rm id_rsa.pub | rm id_rsa.pub | ||
| + | | ||
| + | # (3) | ||
| + | # pem file 복사 | ||
| + | cat ~/ | ||
| | | ||
| (클라이언트에서) 접속 | (클라이언트에서) 접속 | ||
| 줄 64: | 줄 70: | ||
| restart-service sshd | restart-service sshd | ||
| </ | </ | ||
| - | ===== Port Fowarding을 이용해서 외부에서 접속 ====== | ||
| - | {{tag> | ||
| - | |||
| - | 외부에서 접속하고자 하는 서버에서 실행 | ||
| - | |||
| - | ssh -R 2222: | ||
| - | | ||
| - | # {server-ip} 는 외부에서 접속이 가능한 서버 | ||
| - | | ||
| - | 외부의 클라이언트에서에서 로컬 포트 포워딩으로 서버 접속 | ||
| - | |||
| - | ssh -L 2223: | ||
| - | | ||
| - | | ||
| - | | ||
| - | ssh localhost -p 2223 | ||
| - | | ||
| - | 또는, 외부 컴퓨터에서 서버에 접속 후 로컬의 2222에 접속 | ||
| - | |||
| - | ssh {server-id}@{server-ip} | ||
| - | ssh localhost -p 2222 | ||
| - | | ||
| - | |||
| - | - [[http:// | ||
| - | - https:// | ||
| - | - [[http:// | ||
| - | |||
| - | |||
| - | 클라이언트의 ~/ | ||
| - | |||
| - | Host * | ||
| - | ServerAliveInterval 120 | ||
| - | |||
| - | - https:// | ||
| - | |||
| - | |||
| - | <code python lab.py> | ||
| - | import argparse | ||
| - | from subprocess import run | ||
| - | from shlex import split | ||
| - | from socket import gethostname | ||
| - | import time | ||
| - | from colorama import Fore, init | ||
| - | from tqdm import trange | ||
| - | |||
| - | SERVER = ' | ||
| - | init(autoreset=True) | ||
| - | |||
| - | parser = argparse.ArgumentParser() | ||
| - | parser.add_argument(' | ||
| - | args = parser.parse_args() | ||
| - | |||
| - | nx = gethostname() | ||
| - | cmd = 'ssh -R {}: | ||
| - | |||
| - | while True: | ||
| - | print(' | ||
| - | print(Fore.LIGHTBLUE_EX + ' | ||
| - | rus = run(split(cmd)) | ||
| - | print(Fore.LIGHTRED_EX + ' | ||
| - | for _ in trange(30): | ||
| - | time.sleep(1) | ||
| - | </ | ||
| ===== SSHFS ===== | ===== SSHFS ===== | ||
| 줄 206: | 줄 149: | ||
| HostName 192.168.0.102 | HostName 192.168.0.102 | ||
| User {id} | User {id} | ||
| + | Port {port} | ||
| IdentityFile / | IdentityFile / | ||
| </ | </ | ||
| 줄 212: | 줄 156: | ||
| * http:// | * http:// | ||
| + | ====== ssh: port forward ====== | ||
| + | |||
| + | * [[ssh: | ||
| + | |||
| + | |||
| + | ==== 참고 ==== | ||
| + | |||
| + | * https:// | ||
| {{tag> | {{tag> | ||
ssh.1641319553.txt.gz · 마지막으로 수정됨: (바깥 편집)