sshのauthorized_keysで仮想端末を取得させない設定 no-pty
スポンサーリンク
sshで、仮想端末(pty)を取得させない方法について紹介します。
仮想端末を割り当てさせない設定は、authorized_keysの公開鍵に対してno-ptyの設定することで実現します。
$HOME/.ssh/authorized_keysの設定
この状態になると、C-cとかで抜けられないようなので、同じマシンにログインしていれば、psコマンドでnottyなsshdを探して、killコマンドで終了してあげるとよいでしょう。でも、それよりもsshしているホストでsshをkillするのがラクですね。
no-ptyは、仮想端末が割り当てられなくなる(取得できない)だけであって、シェルを使えます。
仮想端末を割り当てさせない設定は、authorized_keysの公開鍵に対してno-ptyの設定することで実現します。
$HOME/.ssh/authorized_keysの設定
no-pty ssh-dss AAAAB9Nza....省略
これを設定すると、どこのホストから秘密鍵を使ってログインしようとしても、仮想端末が取得できなくなるので、注意してください。
上記の設定がされているホストにsshすると端末にアクセスできないとエラーが表示されます。
no-ptyの設定がされたホストにログインした例
% ssh noptyhost Warning: no access to tty (Bad file descriptor). Thus no job control in this shell.
この状態になると、C-cとかで抜けられないようなので、同じマシンにログインしていれば、psコマンドでnottyなsshdを探して、killコマンドで終了してあげるとよいでしょう。でも、それよりもsshしているホストでsshをkillするのがラクですね。
% ps auxww|fgrep notty kaworu 9472 0.0 0.5 6296 2624 ?? S 3:15AM 0:00.01 sshd: kaworu@notty (sshd)
no-ptyは、仮想端末が割り当てられなくなる(取得できない)だけであって、シェルを使えます。
ssh noptyhost /bin/sh < evilscript
仮想端末が使えないので、vi(vim)などがちゃんと使えなかったりして、非常に不便だとは、思いますが、基本的になんでもできてしまうので、no-ptyにして、セキュリティ的に安全というわけではありません。
コマンドの制限があるわけでもないので、authorized_keysのパーミッション次第では、authorized_keysを書き換えられてしまうケースもあります。仮想端末を取得させたくない積極的な理由があるなら、authorized_keysのパーミッションを適切に設定すべきです。
何を制限したいのか、何を守りたいのか、誰から守りたいのか、何故、守るのか、よく考えましょう。
auth-options.c
authorized_keysの設定のチェックは、/usr/src/crypto/openssh/auth-options.cで行っています。
ソースを確認したところ、オプションの文字列は、strcasecmpで大文字小文字の区別なくチェックをしています。
no-ptyをNO-ptyとしようと、No-PTYとしようと、どれでも動きます。
ソースの一部
int auth_parse_options(struct passwd *pw, char *opts, char *file, u_long linenum) { ...省略... cp = "no-pty"; if (strncasecmp(opts, cp, strlen(cp)) == 0) { auth_debug_add("Pty allocation disabled."); no_pty_flag = 1; opts += strlen(cp); goto next_option; } ...省略... }
参照しているページ (サイト内): [2009-03-03-1] [2008-10-19-1]
スポンサーリンク
スポンサーリンク
いつもシェア、ありがとうございます!
もっと情報を探しませんか?
関連記事
最近の記事
- パナソニック ジェットウォッシャードルツ EW-DJ61-Wのホースの修理
- LinuxセキュリティモジュールIntegrity Policy Enforcement
- アマゾンのEcho Show 5を買ったのでレビューします
- アマゾンのサイバーマンデーはAlexa Echo Show 5が安い
- Android スマートフォン OnePlus 7T と OnePlus 7の違い
- Android スマートフォン OnePlus 7 をAndroid10にアップデートしてみた
- クレジットカードのバーチャルカードの比較のまとめ
- 活動量計 Xiaomi Mi Band 4を買ってみたのでレビュー
- Android スマートフォン OnePlus 7 のレビュー
- AliExpressでスマートフォンを買い物してみた
- パソコンのホコリ対策 レンジフードフィルターと養生テープ
- 80PLUS GOLDのPC電源ユニットAntec NeoEco 750 Goldのレビュー
- イギリスの付加価値税 VAT は払い戻しを受けられる
- イギリスのロンドンでスーツケースなど荷物を預けられる場所は
- イギリスのロンドンで地下鉄やバスに乗るならオイスターカードを使おう
- イギリスのヒースロー空港からロンドン市内への行き方
- 航空便でほかの航空会社に乗り継ぎがある場合のオンラインチェックイン
- SFC会員がANA便ではなくベトナム航空のコードシェアを試して解ったこと
- ベトナムの入国審査でeチケットの掲示が必要だった話
- シアトルの交通ICカードはオルカカード(Orca)です
人気のページ
- Windows7 IME 辞書ツールで単語の登録に失敗しました
- C言語 popen()でコマンドを実行して出力を読み込む
- Windows7で休止状態にする方法
- CentOS MySQLの起動、停止、再起動
- loggerコマンドでsyslogにエラーを出力する方法
- パソコンパーツの買取をしてくれる店のまとめ
- Java Mapの使い方 get(),put(),remove(),size(),clear()
- 楽天のRポイントカードを作ってみた
- iPhone 5 から iPhone 6 に乗り換えたのでレビュー
- netstatコマンドのステータスの意味
スポンサーリンク
過去ログ
2020 : 01 02 03 04 05 06 07 08 09 10 11 122019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12