본문 바로가기
리눅스와 웹개발

쉘 스크립트로 telnet 이용하여 자동 로긴하여 리모트에서 파일 실행

by kuksool 2023. 11. 14.
728x90
반응형

1. 쉘 스크립트로 telnet 이용하여 자동 로긴하여 리모트에서 파일 실행

#!/bin/sh
tpipe() {
sleep 3;echo 'user'
sleep 1;echo 'passwd'
sleep 1;echo 'who'
sleep 1;echo 'exit'
sleep 5
}
tpipe | telnet localhost


#!/bin/sh
tpipe() {
sleep 3;echo '$user'
sleep 1;echo '$passwd'
sleep 1;echo 'snap status -A'
sleep 1;echo 'snap delta -A'
sleep 1;echo 'exit'
sleep 5
}
tpipe | telnet $hosts IP


2. 쉘 스크립트로 telnet 이용하여 자동 로긴하여 리모트에서 파일 실행

TelnetIP="$1"
TelnetPORT="$2"
TelnetUserID="$3"
TelnetPSWD="$4"
FTPPORT ="$5"
(
echo "$TelnetUserID";sleep 2;
echo "$TelnetPSWD";sleep 2;
echo "find /magic -type f -exec ls -al {} \;|tee ./a.out";sleep 2;
echo "exit";sleep 5;
)| telnet $TelnetIP $TelnetPORT

ftp -n -v $TelnetIP $FTPPORT <user $TelnetUserID $TelnetPSWD
ascii
get /magic/sand2/a.out a.out
delete ilm.out
bye
EOF


3. 쉘 스크립트로 telnet 이용하여 자동 로긴하여 리모트에서 파일 실행

쉘프로그래밍을 해서 telnet프로그램을 만들것이고, 사용방법은 아래와같습니다.
특정 쉘스크립트를 실행하는 결과가 표준출력으로 나오고, 이를 telnet으로 파이프로 연결을 시켜주는 방법입니다.

#!/bin/sh

echo open 211.111.222.222
sleep 1
echo cbmain
sleep 1
echo 123456
sleep 1
echo "ls -l"
sleep 1
echo exit

이걸 test.sh로 저장 합니다.

$>sh test.sh | telnet

으로 실행을 하게 되면, 텔넷 접속 후 해당 명령을 실행시키는 것을 볼 수 있습니다.
여기서 주의점 한가지는 sleep이 1초인데요. sleep 바로 앞 라인이 오래걸리는 경우는 이 sleep을 충분히 늘려주셔야 한다는 것입니다. 안그러면 중간에 해당 작업이 끝나기도 전에 작업이 끝나버립니다.


4. 쉘 스크립트로 telnet 이용하여 자동 로긴하여 리모트에서 파일 실행

cat 1.sh
#!/usr/bin/expect
set user [lrange $argv 0 0]
set password [lrange $argv 1 1]
spawn bash -c "su - $user -c 'cd;ls;whoami;pwd;'"
expect -re "Password:"
sleep 0.2
send "$password\r"
interact

서버에 expect 가 있어야됩니다.
yum -y install expect



1. Execute files remotely by automatically logging using telnet with shell script

#!/bin/sh
tpipe() {
sleep 3;echo 'user'
sleep 1;echo 'passwd'
sleep 1;echo 'who'
sleep 1;echo 'exit'
sleep 5
}
tpipe | telnet localhost


#!/bin/sh
tpipe() {
sleep 3;echo '$user'
sleep 1;echo '$passwd'
sleep 1;echo 'snap status -A'
sleep 1;echo 'snap delta -A'
sleep 1;echo 'exit'
sleep 5
}
tpipe | telnet $hosts IP


2. Execute files remotely by automatically logging using telnet with shell script

TelnetIP="$1"
TelnetPORT="$2"
TelnetUserID="$3"
TelnetPSWD="$4"
FTPPORT ="$5"
(
echo "$TelnetUserID";sleep 2;
echo "$TelnetPSWD";sleep 2;
echo "find /magic -type f -exec ls -al {} \;|tee ./a.out";sleep 2;
echo "exit";sleep 5;
)| telnet $TelnetIP $TelnetPORT

ftp -n -v $TelnetIP $FTPPORT <user $TelnetUserID $TelnetPSWD
ascii
get /magic/sand2/a.out a.out
delete ilm.out
bye
EOF

반응형


3. Execute files remotely by automatically logging using telnet with shell script

I will make a telnet program by shell programming, and how to use it is as follows.
The results of running a specific shell script come out as standard output, and this is how to pipe it to telnet.

#!/bin/sh

echo open 211.111.222.222
sleep 1
echo cbmain
sleep 1
echo 123456
sleep 1
echo "ls -l"
sleep 1
echo exit

This is a test.Save as sh.

$>sh test.sh | telnet

When you run the , you can see that you run the command after connecting to Telnet.
One thing to note here is that sleep is one second. If the line right in front of the sleep takes a long time, it means that you need to increase this sleep sufficiently. Otherwise, the task will be finished before it is finished in the middle.


4. Execute files remotely by automatically logging using telnet with shell script

cat 1.sh
#!/usr/bin/expect
set user [lrange $argv 0 0]
set password [lrange $argv 1 1]
spawn bash -c "su - $user -c 'cd;ls;whoami;pwd;'"
expect -re "Password:"
sleep 0.2
send "$password\r"
interact

The server must have expect.
yum -y install expect

728x90
반응형

'리눅스와 웹개발' 카테고리의 다른 글

리눅스 커널  (4) 2023.11.17
리눅스  (2) 2023.11.15
데몬의 종류와 기능  (2) 2023.11.13
Check the number of Apache in Linux  (0) 2023.02.14
리눅스에서 아파치 갯수 확인  (0) 2023.02.04

loading