ssh 원격 실행을 하고 싶을때

ssh {host} {명령}

이런식으로 해주면 된다.

그런데, 불편한 메시지가 나온다. 
  Pseudo-terminal will not be allocated because stdin is not a terminal

항상 나오는 것은 아니고, 단일명령을 주면 나오지 않는다.
command.sh 에 실행명령을 작성하고,  ssh {host} < command.sh  형식으로 할때 메시지가 나온다.

그런경우  ssh -t -t (두번)  옵션을 주어 실행하면 된다.

근데, 실행명령이 다 보인다. 

이때는 ssh -T 옵션을 준다.

그런데, 또 불편한 메시지가 보인다.
   TERM environment variable not set.

 ssh 실행시 해당 TERM 환경변수가 설정되지 않아서 그렇다.
타겟서버의 .ssh/environment 파일에(보통 파일이 없다. 그래서 새로 만들고)
  BASH_ENV=.profile
을 추가해준다. (경우에 따라서 .profile 을 .bash_profile 로 변경)

또는 그냥 간단하게, 명령셋에 다음을 추가해준다.

  export TERM=xterm

 

좀 이상하다. 나오다가 지금은 또 안나오네.(TERM ..)
 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,