仕事を頑張る人のおしりトラブル対策

リモートサーバの.sshフォルダ内のauthorized_keysに追加した公開鍵が不必要になった場合、この鍵をauthorized_keysから削除するにはどのようにすればよいのでしょうか?

鍵の追加は,catコマンドを使用するのは分かりますが、
例)cat putty.pub >> $HOME/.ssh/authorized_keys
鍵の削除はどのようなコマンドを使用するのか分かりません。

注意:
このスレッドでは、authorized_keysにcat putty.pub ファイルの内容を追加後、不必要となったcat putty.pub ファイルの削除の仕方を聞いているのではありません。このスレッドでお聞きしているのは、既にauthorized_keysに追加済みの複数の公開鍵の内、特定の鍵のみをauthorized_keysから削除する方法をお聞きしています。

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

> 実際のパブリックキーの部分だけではなく、パブリックキーの前後にある上記の文字列も含めてサーバーのauthorized_keysに貼り付ける(1行として)のですか?



「Public key for pasting into OpenSSH authorized_keys file:」の内容を貼り付けます。
右クリックメニューの「すべて選択」「コピー」でクリップボードに取り込み、ターミナルソフト(TeraTerm、Poderosaなど)上で
vi authorized_keys
などエディタを開き、入力モードにした状態で「貼り付け」を行えばよいかと。
# vi(vim)なら、ファイルを開いた状態で、カーソルを最終行に移動、aまたはiキー押下で入力モードにします。
# 念のためenterキーを何度か押して空行入れておいた上で、カーソルが空行にある状態で貼り付けしますかね。

出力されたファイルに関しては次のページを。
http://good-stream.com/goodstream/vpn/winscp/to- …
商用のsshのもののようです。

>>どこに"#"を入れるかにもよるかと思いますが…。
>上記のようにおっしゃられると不安ですが、どのような意味ですか?

慣例として、行の先頭に記述されていればその行は丸ごとコメント扱い。
といパターンが多いです。
sshd_configなどもそんな感じかと。
行の途中にあった場合はそれ以降がコメントということになりますね。

なお、今回私が「公開鍵のコメント」と言っていたのは、
>キーを作成した後、あるいは作成済みの秘密鍵を読み込ませた後の画面で
>「Key comment」となっている個所です。
>作為した直後だと「rsa-key-20080814」などになっています。
の部分のことになります。これだと、各キーの行末にコメントが入っていることになりますので。
先ほどのページだと、
>OpenSSHのフォーマット(実際には改行コードはありません)
のあとにあるキーの最後の部分にある青字の個所になります。
authorized_keysファイルに"#"でのコメントを入れるのであれば、自分で編集することになりますから自由に書けるかと。
---------------------------------
# PocketPuTTY用のキー
ssh-rsa AAAAB3NzaC1yc2EAAAA~

# メインPC用のキー
ssh-dss AAAAB3NzaC1kc3MAAA~

# 玄箱からの接続用キー
ssh-dss AAAAB3NzaC1kc3MAAA~
---------------------------------
のような感じに。
    • good
    • 0
この回答へのお礼

Wr5さん
ご回答、ありがとうございました。

Wr5さんにお教えいただいたこと+多少のトライ&エラーで、できそうです。

お礼日時:2008/08/15 12:26

>puttygen.exeを使用していますが、どこで設定できるのでしょう?



キーを作成した後、あるいは作成済みの秘密鍵を読み込ませた後の画面で
「Key comment」となっている個所です。
作為した直後だと「rsa-key-20080814」などになっています。
修正すると、すぐ上の
「Public key for pasting into OpenSSH authorized_keys file:」の内容が変更されます。
1行の文字列になっていますのでOpenSSHのauthorized_keysに登録する場合はまるごと貼り付けることになりますね。

>なるほど、「#」でコメントとなるわけですか。
どこに"#"を入れるかにもよるかと思いますが…。

この回答への補足

Wr5さん
ご回答、ありがとうございました。

>「Key comment」となっている個所です。
>「Public key for pasting into OpenSSH authorized_keys file:」
>の内容が変更されます。
確認しました。

>1行の文字列になっていますのでOpenSSHのauthorized_keysに登録す
>る場合はまるごと貼り付けることになりますね。
PuTTYのパブリックキーファイルを拡張子を.txtにして開くと、パブリックキーは、以下の文字列と、
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "Key Name"
以下の文字列の間に記載されていますが、
---- END SSH2 PUBLIC KEY ----
実際のパブリックキーの部分だけではなく、パブリックキーの前後にある上記の文字列も含めてサーバーのauthorized_keysに貼り付ける(1行として)のですか?

また、「Public key for pasting into OpenSSH authorized_keys file:」の内容を、「Save public key」で保存せず、直接コピペしてサーバーのauthorized_keysに貼り付ける場合もあるようですが、この場合、パブリックキーはssh-rsa等(キーの種類による)から始まります。この場合、上記の
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "Key Name"

---- END SSH2 PUBLIC KEY ----
が省略されてしまいますが、問題ないのでしょうか?

>どこに"#"を入れるかにもよるかと思いますが…。
上記のようにおっしゃられると不安ですが、どのような意味ですか?

よろしくお願いします。

補足日時:2008/08/14 12:10
    • good
    • 0

>Windowsにインストールしてあるテキストエディタでauthorized_keysを編集すると、改行コードにUnix系のLFでなくWindows系のCR+LFが入ってしまい、authorized_keysが正しく作動しなくなると聞いたことがありますが?



・リモートでviエディタなどを使用する。
・FTPで転送するときにアスキーモードで転送する。
・Windows側で読み込み/書き込みするときに改行コードをLFで扱えるエディタを使用する。
などなど…

>authorized_keys内のどの公開鍵部分がどの秘密鍵に対応しているか、 authorized_keys内に予めコメントを入れておくことはできるのでしょうか?もし可能なら、コメントの入れ方を教えて下さい。

公開鍵作成時にコメントを設定することが可能な場合も。
puttygen.exeでは設定可能でしたね。
Poderosa 4.1の鍵作成ウィザードではできませんでした。
authorized_keys内の各公開鍵のさいごにスペースで区切ってコメントを入れられるようです。
man 8 sshd
でauthorized_keysファイルの書式が解説されているようです。

この回答への補足

Wr5さん
ご回答、ありがとうございました。

>puttygen.exeでは設定可能でしたね。
puttygen.exeを使用していますが、どこで設定できるのでしょう?

>man 8 sshd
>でauthorized_keysファイルの書式が解説されているようです。
なるほど、「#」でコメントとなるわけですか。
こちらは、了解です。

>・リモートでviエディタなどを使用する。
了解です。

補足日時:2008/08/13 02:33
    • good
    • 0

テキストエディタなどで、該当する公開鍵の行を削除すればよいかと。

この回答への補足

Wr5さん
ご回答、ありがとうございました。

>テキストエディタなどで、該当する公開鍵の行を削除すればよいか
>と。
Windowsにインストールしてあるテキストエディタでauthorized_keysを編集すると、改行コードにUnix系のLFでなくWindows系のCR+LFが入ってしまい、authorized_keysが正しく作動しなくなると聞いたことがありますが?

また、authorized_keys内のどの公開鍵部分がどの秘密鍵に対応しているか、 authorized_keys内に予めコメントを入れておくことはできるのでしょうか?もし可能なら、コメントの入れ方を教えて下さい。
authorized_keysの編集の仕方等が詳細に載っているサイトのURL等をお知りでしたら、教えていただければ幸いです。

よろしくお願いします。

補足日時:2008/08/12 10:37
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qssh公開鍵認証設定の解除について

Linuxで公開鍵、秘密鍵を生成し、ssh公開鍵認証でログインをしているのですが、
公開鍵認証を止めて、sshでのリモートログインに戻すにはどのようにすれば良いのでしょうか?
/etc/ssh/sshd_configの何れかを設定解除すれば良いのでしょうか?
※現設定
Protocol2 ←2が設定されている
PermitRootLogin no ←noに変更
PasswordAuthentication yes ←yesが設定されている

Aベストアンサー

>PasswordAuthentication yes ←yesが設定されている

設定されているならそのままでパスワード認証できませんか?
おそらく、先に公開鍵の認証が走っているのだと思いますが。
クライアント側の設定かと。
~/.ssh/configで公開鍵認証に設定している…とか。

当然ですがサーバ側のアカウントにパスワードが設定されている必要はあるかと。

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

Qsedの置換文字に変数を使用したいのですが・・・

あるファイルの特定の文字を変換し、上書きをする処理を行いたいのですが、sedの置換文字に変数が渡せなくて困っています。

例:
X="a"
Y="b"
echo test.txt | sed 's/${X}/${Y/g}' >test.txt

sedでは置換文字に${X}といった変数を使用することはできないのでしょうか?

Aベストアンサー

' ・・・' で囲まれた中の$はそのままドルマークです。変数展開をするなら、'・・・'で囲んではいけません。

何も囲まないか、"・・・"で囲むかです。

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。

Qgrepで検索文字列が完全一致した行だけ取り出す方法

grepの文字列検索で検索文字列が単語として、完全一致した行だけ取り出す方法はないでしょうか?

通常は
grep hoge hoge.txt

と打つと、hogeが含まれる行が出力されますが、今回は含まれる行ではなくて完全に文字列が一致した行だけ取り出したいのです。

例えばhoge.txtの中に
cc ghoge
kkl hogem
jjll hoge
という3行があったとしたら最後の行でhogeという文字が空白で区切られた行だけ取り出したいのです。

何かよい方法があれば教えてください

Aベストアンサー

-w オプションじゃだめですか?

参考URL:http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html

Qbashなどのシェル変数の値に改行を含める事は可能でしょうか?

タイトルの通りですが、通常のシェル変数の値として

 [prompt]$ aaa="bbb<改行>ccc"

のようなセットを行い、

 [prompt]$ echo $aaa
 bbb
 ccc
 [prompt]$

のような結果を得たいのですが、可能でしょうか。

Aベストアンサー

可能です.
というか,やってみたら出来ることがわかると思います.こんなところで聞くより早い.
なお,sh/bash系では改行文字は特にエスケープせずそのまま入れられます.

aaa='bbb
ccc'

Qパスワード設定していないユーザーのログイン

いつもお世話になっております。

linuxで、useraddした後、passwdコマンドでパスワードを設定していないユーザーがいます。ここでは、postgresとします。

このユーザーに一般ユーザーからなるときに、
$su - postgres
としますが、パスワードがきかれて、何も入力しないと、
invalidになります。(centos5)

パスワードを設定しないと、一般ユーザーからログインできないのでしょうか。
ちなみに、rootからpostgresですと、ログインできます。
$su -
$su - postgres

お手数をおかけしますが、なにとぞご教授お願いいたします。

Aベストアンサー

 実際useraddしてみると分かりますが、useradd直後の状態では、パスワードは「設定されていません」。
 設定しとらんのやけん設定はされとらんやろ何を言うてるんアホちゃうんと思うなかれ。パスワードが設定されていないとは、パスワードが空である(=初期値としてランダムパスワードが設定されている訳ではない)という事です。さて、ではどうして一般ユーザーからsuできないのでしょうか。rootになって

# getent shadow postgres

とすると、パスワードの欄が半角びっくりマーク2個のみが印字されたかと思います。この半角びっくりマーク2個というのがLinuxにおいて「アカウントがロックされている」という状態になります。
 試しに/etc/shadowファイルをrootで直接書き換える(びっくり2つを削る)と、一般ユーザーからパスワードなしでsu - postgresできるようになります。もちろんこんな危険な操作(shadowの書き換え)は普通せずに、以下のようにします。

# passwd -u -f postgres

passwd -uというのは、ロックアウトされているアカウントのロックを解除するものですが、現在postgresにはパスワードが設定されていないためpasswd -uだけだと「危険だべ」と拒否されます。ので、-fオプションをつけて強行します。すると先ほど/etc/shadowを直接書き換えたのと同じ状態に変わり、一般ユーザーからパスワードなしでsu - postgresする事ができるようになります。逆にロックする時は

# passwd -l postgres

です。詳しくはpasswd -hなどを参照の事。root(uid 0)はロックされているアカウントもおかまいなしに変身できるという凄い権利を持っています。

 実際useraddしてみると分かりますが、useradd直後の状態では、パスワードは「設定されていません」。
 設定しとらんのやけん設定はされとらんやろ何を言うてるんアホちゃうんと思うなかれ。パスワードが設定されていないとは、パスワードが空である(=初期値としてランダムパスワードが設定されている訳ではない)という事です。さて、ではどうして一般ユーザーからsuできないのでしょうか。rootになって

# getent shadow postgres

とすると、パスワードの欄が半角びっくりマーク2個のみが印字されたかと思...続きを読む

Q「該当」と「当該」の違い

辞書には、「該当」・・・その条件にあてはまること。「当該」・・・その事に関係がある。
・・・とあります。
“あてはまる”と“関係がある”、微妙に違うようで似ているようで、お恥かしいのですが私にははっきり区別ができないのです。
該当とすべきところを当該としたら、意味はまったく違ってくるでしょうか?
わかりやすく両者の違いや使い方を解説していただけませんか?宜しくお願いします。

Aベストアンサー

よく似た意味の言葉(名詞)ですが、

○該当…「する」をつけて「当てはまる」という意味の動詞として用いることができる

○当該…主に他の名詞の前につけて「今議論の対象になっている、まさにそのもの」という意味で内容を限定する形容詞的な形で用いる

といった違いがあります。逆の用法はありません。

・この条件に当該する人は申し出てください。

・○○事件につき、該当被告人を有罪に処す。

いずれもおかしな使い方で、反対でないとアウトです。

ご参考になれば幸いです。

QFTPコマンドでディレクトリごとファイル移動できるコマンドはありますか?

タイトルどおりなのですが、FTPでファイルを転送する際に、サブフォルダを含むディレクトリごとファイル転送するコマンドはありますでしょうか。
ディレクトリの中にあるすべてのファイルを移動したいのですが、サブフォルダがたくさんあるので、わざわざディレクトリの場所へ移動してmputを繰り返すのはめんどうで仕方ありません。
よろしくお願いします。

Aベストアンサー

ご使用になるOS環境が書いてないのですが、Linux,BSD等ならncftpで、get -R dir。
Windowsならffftpを使えば良いと思います。


人気Q&Aランキング

おすすめ情報