sshでログインするときにシェルを変える

スポンサード リンク
LINEで送る
Pocket

遠隔地のサーバでzshを使いたいが,ログインシェルにするのは不安。そういうときは,sshログインの際にzshを実行するように指定しよう。

sshは

ssh user@exsample.com command

とするとログイン先で任意のcommandを実行してくれる。ただし,単に ssh user@exsample.com /bin/zsh としても何もおこらない。というか真っ黒の画面で操作できなくなるので一工夫する必要がある。

といっても難しいことはなくて,sshコマンドに-tオプションをつけるだけ。sshのmanファイルに

-t      Force pseudo-tty allocation.  This can be used to execute arbitrary screen-based
       programs on a remote machine, which can be very useful, e.g. when implementing menu
       services.  Multiple -t options force tty allocation, even if ssh has no local tty.

とあるように-tオプションにより疑似ttyを割り当ててくれるのでインタラクティブに操作できるようになるわけだ。

つまり,

ssh user@exsample.com -t /bin/zsh

とすれば,ログイン先でzshを実行してくれる。万が一,zshでトラブルが起きても通常通りに

ssh user@exsample.com

でログインすればbashが起動するので安心だ。

なお,鍵でログインする場合は以下のサイトにあるように,authorized_keysの任意のホストの行頭にcommand=”/bin/zsh” と書き込んでも同じことが実現できるようだ。
ssh鍵によってシェルを使い分ける | smokycat.info

関連する記事

LINEで送る
Pocket



カテゴリー: CentOS, Debian, Fedora, コマンドメモ パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
また,TeX の記法で数式を入力する場合は [latexpage] とコメントの最初に入力してください(QuickLaTeX の機能です)。
例: [latexpage] $\frac{1}{2}$

ERROR: si-captcha.php plugin: GD image support not detected in PHP!

Contact your web host and ask them to enable GD image support for PHP.

ERROR: si-captcha.php plugin: imagepng function not detected in PHP!

Contact your web host and ask them to enable imagepng for PHP.