명령 : 터미널에서 실행해야합니다


9

공유 호스팅 계정이 있고 ssh를 사용하여 기록했습니다. 예를 들어 입력하면 su다음과 같은 출력이 나타납니다. su: must be run from a terminal

이 오류는 충분한 권한이 없거나 다른 것에 대한 사실과 관련이 있습니까?


일반적으로 오류는 연결에 할당 된 TTY가 없음을 나타내는 것으로 예상되지만 SSH를 통해 연결하고 쉘을 가져 오는 경우에는 의미가 없습니다. ssh -F /dev/null user@host로컬 시스템에서 시작하여 오류를 발생시키기 위해 수행 한 정확한 단계를 공유 할 수 있습니까 ? ( 이로 -F /dev/null인해 모든 시스템 또는 사용자 로컬 SSH 구성이 무시됩니다. su시도 할 수있는 시스템 설정).
CVn

1
securetty (5)에 연결되어 있습니까? 즉, ssh 세션의 tty는 / etc / securetty에 나열되어 있습니까? (/ dev / 앞에 추가)
D McKeon

예를 들어 su다른 명령에 대해이 오류가 발생합니까?
ctrl-alt-delor

명령 tty은 무엇을 보여줍니까? ssh로 로그인 한 다음을 입력 su하거나 실행 중 ssh su입니까? 어떤 터미널 에뮬레이터를 사용하고 있습니까? 루트 액세스 권한이 있어야합니까?
Gilles 'SO- 악의를 멈춰라'

모든 질문에 대답하려고 : 나는 ssh를 사용하여 로그인 ( ssh -l login@host host유형보다이 명령을 사용하는 경우에만 나는 로그인 할 수 있습니다) su내가 입력 할 때 (다른 명령이 정상적으로 작동) tty내가 가진 : not a tty.
4m1nh4j1

답변:


4

-tssh 옵션을 사용해보십시오 . 그래도 작동하지 않으면 시도하십시오 -tt.

-t 의사 -tty 할당을 강제합니다. 이는 원격 컴퓨터에서 임의의 화면 기반 프로그램을 실행하는 데 사용할 수 있으며, 예를 들어 메뉴 서비스를 구현할 때 매우 유용합니다. -tssh에 로컬 tty가없는 경우에도 여러 옵션이 tty 할당을 강제합니다.


나는 ssh -tl root@host host이중 t로 시도했지만 같은 결과를 얻었습니다. 추신 : 설명서에서 언급했듯이 ssh로 로그인하려면 이와 같은 명령을 사용해야합니다 ssh -l login@host host.
4m1nh4j1

왜 루트로 로그인합니까? 그리고 당신은 필요하지 않습니다 -l.
ctrl-alt-delor

-l추가하지 않으면 로그인 할 수 없기 때문에 사용 하고 있습니다. dtcsupport.gplhost.com/UserDoc/FRHow-Works-clientSSH-System 문서에서 이것을 볼 수 있습니다 (내가 찾은 유일한 페이지는 프랑스어입니다). -lssh를 사용 하지 않으면 비밀번호를 수락하지 않습니다.
4m1nh4j1

root로그인 으로 " "을 (를) 사용하여 ssh 계정을 만들었 으므로 root@hostssh에 사용 합니다
4m1nh4j1

유해한 것으로 간주되는 루트로 로그인 : 보안에 관심이있는 대부분의 사람들은 루트 로그인을 비활성화합니다. 로그인하면 루트 권한을 얻을 수 있습니다 (권장 sudo). 비밀번호 인증도 비활성화하여 키 기반 인증을 강제 실행하는 경우 루트에 액세스하려면 키와 비밀번호가 필요합니다.
ctrl-alt-delor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.