ssh
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
ssh [2020/10/16 09:34] – [Windows] rex8312 | ssh [2025/06/29 16:45] (현재) – [ssh: port forward] rex8312 | ||
---|---|---|---|
줄 33: | 줄 33: | ||
(클라이언트에서 서버에) 키 복사 | (클라이언트에서 서버에) 키 복사 | ||
+ | # (1) | ||
ssh-copy-id -i ${HOME}/ | ssh-copy-id -i ${HOME}/ | ||
| | ||
- | # 클라이언트의 id_rsa.pub 파일내용을 서버의 .ssh/ | + | |
- | # 만약 서버에 원격접속이 힘든경우 (예. termux) | + | |
- | # 클라이언트에서 python -m http.server 로 웹서버를 띄우고 | + | # 클라이언트의 id_rsa.pub 파일을 |
- | # 서버에서 wget으로 pub 파일을 다운받아 저장하고 | + | scp ${HOME}/ |
- | # cat id_rsa.pub >> .ssh/ | + | ssh {server-id}@{server-ip} |
+ | cat id_rsa.pub >> .ssh/ | ||
+ | rm id_rsa.pub | ||
+ | | ||
+ | # (3) | ||
+ | # pem file 복사 | ||
+ | | ||
| | ||
(클라이언트에서) 접속 | (클라이언트에서) 접속 | ||
줄 49: | 줄 56: | ||
==== Windows ==== | ==== Windows ==== | ||
- | - 클라이언트의 {HOME}/ | + | 1. 클라이언트의 {HOME}/ |
- | | + | |
+ | 2. C: | ||
<code ini> | <code ini> | ||
줄 57: | 줄 65: | ||
</ | </ | ||
- | - ssh 서버 재시작 | + | 3. ssh 서버 재시작 |
<code powershell> | <code powershell> | ||
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 ===== | ||
줄 137: | 줄 82: | ||
ssh {ip} {command} | ssh {ip} {command} | ||
+ | ssh -t {ip} {command} | ||
| | ||
여러줄 명령어 실행 | 여러줄 명령어 실행 | ||
줄 147: | 줄 93: | ||
# 127.0.0.1에 접속해서, | # 127.0.0.1에 접속해서, | ||
ssh 127.0.0.1 "echo 1; ssh 127.0.0.1 "" | ssh 127.0.0.1 "echo 1; ssh 127.0.0.1 "" | ||
+ | | ||
+ | 원격 아나콘다 환경 활성화 | ||
+ | <code bash> | ||
+ | ssh {user}@{host} " | ||
+ | </ | ||
| | ||
python script에서 실행 | python script에서 실행 | ||
줄 198: | 줄 149: | ||
HostName 192.168.0.102 | HostName 192.168.0.102 | ||
User {id} | User {id} | ||
+ | Port {port} | ||
IdentityFile / | IdentityFile / | ||
</ | </ | ||
줄 204: | 줄 156: | ||
* http:// | * http:// | ||
+ | ====== ssh: port forward ====== | ||
+ | |||
+ | * [[ssh: | ||
+ | |||
+ | |||
+ | ==== 참고 ==== | ||
+ | |||
+ | * https:// | ||
{{tag> | {{tag> |
ssh.1602840881.txt.gz · 마지막으로 수정됨: (바깥 편집)