回答:
私はそれが可能ではないと思います~/.ssh/config
。-t
追加することでカバーすることができるRequestTTY yes
が、あなたがリモートコマンドを指定することができていないようです~/.ssh/config
。
ただし、ではzsh
、次のものを追加できます。
alias -g 'serveralias=serveralias -t zsh'
あなたに~/.zshrc
。
または、次のような関数を作成します。
zssh() ssh "$@" -t zsh
alias
本当に正しいですか?あなたの引用を確認してください。
@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、特定のシェルを起動して、リモートマシンでコマンドを実行しますか?。
command="exec zsh"
悪い考えです:明示的なコマンドでsshを実行することを不可能にします(そういうわけでscp、rsyncなど)。unix.stackexchange.com/a/20739は、これを適切に行う方法を示しています。