본문 바로가기
프로...Linux

[ssh] ssh 접속만 허용하고 scp나 리모트 명령은 막는 방법

by 크크다스 2019. 1. 23.
반응형

[ssh] ssh 접속만 허용하고 scp나 리모트 명령은 막는 방법


외주로 개발을 의뢰할 경우가 발생하여

외부에서 개발 서버로 접근을 허용하는 작업을 하면서

접속은 하되

scp 등을 막고자 하면서 ...........


외부에서 svn연동하고자 할 때 사용한 방법에 대해서는 아래 링크 ....

참고> [svn] multiple svn server 구동


[결론]


여기 방식을 따르면 


원하는 Filtering이 가능하며,


ssh 원격 접속만 허용할 수 있게 된다.




구글링>

https://serverfault.com/questions/28858/is-it-possible-to-prevent-scp-while-still-allowing-ssh-access



[구글링]


-아래 사이트들의 내용을 적용해 보았지만 내 경우에는 적용되지 않았다.


구글링>


https://serverfault.com/questions/28858/is-it-possible-to-prevent-scp-while-still-allowing-ssh-access


https://unix.stackexchange.com/questions/208655/disable-scp-for-all-ip-but-allow-it-for-given-ones





[내방법]


-아래 사이트 Mysidia 의 내용 => 로긴쉘 이용


 https://www.experts-exchange.com/questions/21016603/How-to-allow-SSH-but-block-SCP.html


Mysidia 의 요점>

To execute a command:


/path/to/userLoginShell -c (command)


적용 방법>


대상이 되는 user의 로긴 쉘을 변경함.


bash -> mapper bash script


chsh -s mapper_shell USER_NAME





[mapper shell script]


#!/bin/sh


LOG_FILE=/tmp/.noscp.log

#if [[ "$*" =~ scp* ]] ; then

if [[ "$*" =~ "-c" ]] ; then

   # env >> $LOG_FILE

   # $SSH_CONNECTION=192.168.88.202 39629 192.168.88.222 22

   # $SSH_CLIENT=192.168.88.202 39629 22

   echo -n "ARGS[$*] from [$SSH_CONNECTION]"  >> $LOG_FILE; date >> $LOG_FILE

   echo "Rejected for the illegal access." >&2

   exit 1

else

   echo -n "Logged from [$SSH_CONNECTION]" >> $LOG_FILE; date >> $LOG_FILE

   /bin/bash $*

   echo -n "Logged out from [$SSH_CONNECTION]" >> $LOG_FILE; date >> $LOG_FILE

fi

exit




반응형

'프로...Linux' 카테고리의 다른 글

[HowTo] iso, img, opk 화일 생성 및 추출  (0) 2019.02.13
[SCRIPT] 쉘 스크립트 예제  (0) 2019.02.02
[mysql] SQL 예제  (0) 2019.01.17
[svn] multiple svn server 구동  (0) 2019.01.16
[Util] sysdig - 사용자 감시  (0) 2019.01.15