답변:
기대하는 데 아무런 문제가 없습니다. 내가 한 다른 방법은 스크립트를 사용하여 매우 더럽습니다. 먼저 실행하려는 프로파일을 scp 한 다음 ssh in, run 및 연결 상태를 유지하십시오.
따라서 모든 프로파일 설정을 로컬 파일 .<local username>-<hostname>-init.sh
에 배치하고 아래 스크립트를 실행하여 원격 호스트에 로그인하십시오.
#!/bin/sh
[ $# -eq 0 ] && { echo "syntax: $0 <host> [<ssh-option>...]" 1>&2 ; exit 1 ; }
host=$1 ; shift # use any remaining args as ssh options
initfile=".$USER-`hostname`-init.sh"
scp -q ~/.ssh-init.sh "$host:/var/tmp/$initfile"
ssh -t "$@" $host "bash --rcfile /var/tmp/$initfile"
구성을 입력 .bashrc
하고 로그인 할 때만 구성 할 수 있습니다.이를 가능하게하기 위해 ssh를 통해 환경 변수를 전달할 수 있습니다.
.bashrc
수정
# common stuff
if [ -n "$IAMTHEGREATEST" ]; then
# my personal cool stuff
fi;
# other global stuff
sshd_config
수정 :
AcceptEnv ... IAMTHEGREATEST
.ssh/config
수정 (클라이언트 측) :
Host ...
SendEnv IAMTHEGREATEST
.bashrc
수정 (클라이언트 측) :
alias ssh='IAMTHEGREATEST="forsure" ssh'
(추천하지만해야합니다)
로부터 SSH (1) 당신이 파일을 만들 경우 매뉴얼 페이지 ~ / 스푸핑 / RC를 사용자의 로그인 쉘하여 로그인하기 전에 '사전 설정'작업을 할 수있는 기회를 제공, 실행하기 전에 실행됩니다 .. 주어진 예는 로그인하기 전에 네트워크 공유를 마운트하는 것입니다.
개별 ~ / .ssh / rc 파일 을 사용하지 않으려면 / etc / ssh / sshrc로도 동일한 작업을 수행 할 수 있습니다 . 특정 사용자 이름 또는 일부 식별 방법을 확인하기위한 빠른 테스트는 다른 사용자가이를 인식하지 못하도록 제한 할 수 있습니다.
~ / .ssh / rc 가 존재하지 않는 경우에만 / etc / ssh / sshrc 가 소스 되므로 두 계층의 복잡성을 효과적으로 달성 할 수 있습니다.
.ssh / config를보십시오
다음은 https://lookherefirst.wordpress.com/2007/12/17/a-simple-ssh-config-file/ 의 예입니다.