ssh를 통해 이미지 데이터와 같은 바이너리를 서버로 보냅니다.

1908 단어 SSHbase64
ssh로부터 웹 컨텐츠 등을 편집하고 있을 때, 약간의 화상을 서버상에 보내고 싶을 때가 있다. 또 하나 콘솔을 열어 거기에서 scp하거나 전송용의 어플리케이션을 기동하거나 해도 괜찮지만, 괜찮다. 몇 대의 서버를 밟아 놓고 목적의 서버상에서 작업하고 있을 때 등은 특히 그렇다. 포트 포워드를 사용한 전송은 물론 알고 있지만, 방법을 기억하거나 메모를 찾는 수고가 걸려 스트레스이다.

그래서 먼저 손에 아래와 같은 python3 스크립트를 준비한다. 파일 이름은 b64ify.py입니다. 환경은 windows.

b64ify.py
#!py -3
import sys
import base64
fname = sys.argv[1]
c = open(fname, mode='rb').read()
print(base64.encodebytes(c).decode())
input()

이 스크립트의 아이콘 위에 보낼 이미지 파일을 드래그 앤 드롭합니다.


그러면 BASE64로 인코딩 된 것이 표시되므로 이것을 클립 보드에 복사. (파이썬 스크립트를 조금 만지면서, 클립보드로의 전송을 마음대로 하도록 해도 좋을지도.)

서버 위에서는
$ base64 -d > image.jpg

그리고 명령을 두드리고, 그 다음에 지금의 BASE64 데이터를 콘솔에 붙여 넣습니다. 붙여넣기가 끝나면 [ctrl]+[D]. 이제 서버에는 BASE64 상태에서 복원된 데이터가 저장되어 있다는 것이다.

어디까지나 몇 KB의 파일을 보낼 때밖에 실용적이지 않다고 생각하지만, 어떨까요. 귀찮은 상태는 그렇게 변하지 않을까.

좋은 웹페이지 즐겨찾기