.ssh/config는 zsh에서 원격 세션을 시작합니다.

.ssh/config는 zsh에서 원격 세션을 시작합니다.

다음 명령을 입력하지 않고 원격 세션을 시작하고 싶습니다

ssh user@remoteserverip -t zsh

~/.ssh/config다음과 같이 간단히 사용하기 위해 호스트 이름을 변경할 수 있다는 것을 알고 있습니다 .

ssh serveralias -t zsh

하지만 해당 매개변수를 제거하고 싶습니다 -t zsh.

함수를 작성하지 않고 이를 달성할 수 있는 방법이 있습니까?

답변1

몇 년 후 여기에 도착하는 사람은 2017년부터 모든 것을 구성 파일에 넣을 수 있습니다.

Host host_1
    HostName 1.2.3.4
    User root
    Port 22
    RequestTTY yes
    RemoteCommand zsh

답변2

나는 이것이 불가능하다고 생각한다 ~/.ssh/config. 를 -t추가하면 무시할 수 있지만 RequestTTY yes에서는 원격 명령을 지정할 수 없는 것 같습니다 ~/.ssh/config.

그러나 를 사용하면 다음을 zsh추가할 수 있습니다.

alias -g 'serveralias=serveralias -t zsh'

당신에게 ~/.zshrc.

또는 비슷한 기능을 만듭니다.

zssh() ssh "$@" -t zsh

답변3

@Stephane에 동의합니다. 를 사용할 방법이 없습니다 . 또 다른 방법은 원격 서버의 파일을 ~/.ssh/config file사용하는 것입니다 . ~/.ssh/authorized_keys다음과 같은 줄을 추가하면:

command="exec zsh" ssh-dss ..... rest of key ....

그런 다음 정상적으로 ssh를 수행하면 원격 서버에서 zsh를 얻을 수 있습니다.

서버에서 원격으로 SSH를 실행합니다.

$ ssh saml@greeneggs

원격 서버에서 현재 위치를 확인하세요 zsh.

[saml@greeneggs]~% ps -eaf|grep $$
saml      1974  1973  1 10:34 pts/3    00:00:00 zsh
saml      2023  1974  0 10:34 pts/3    00:00:00 ps -eaf
saml      2024  1974  0 10:34 pts/3    00:00:00 grep --color=auto 1974

이 파일로 더 복잡한 작업을 수행할 수 있습니다. 다음 Q&A를 참조하세요.ssh, 특정 쉘을 시작하고 원격 시스템에서 명령을 실행하시겠습니까?.

답변4

시스템 쉘 설정을 변경하는 것이 좋습니다.

  1. 정상적으로 서버에 접속합니다.ssh serveralias
  2. chsh변경 시스템 쉘 실행
  3. 입력이 /bin/zshzsh로 설정되었습니다.
  4. 재접속 후 ssh serveralias표시됩니다.%

chsh [username]다시 연결하지 않고도 다른 사용자의 설정을 변경하는 데 사용할 수 있습니다.

관련 정보