アプリ版:「スタンプのみでお礼する」機能のリリースについて

さくらインターネットさんのVPS初期設定で躓いております。
誠に恐縮ではございますがアドバイスを頂けないでしょうか。
よろしくお願い致します。

◎やろうとしている事
ローカル環境で作成した公開鍵をサーバに設定し
TeraTarmで接続出来るようにしたい。
公開鍵の登録はTeraTarmで接続してviでauthorized_keysに
貼り付ける、という方法です。

◎参考にしているサイト
http://www.jitaku-server.net/ssh_teratermpro_sec …

◎OS CentOS 6 x86_64

◎開通後(OS再インストール後)行っている手順
1、rootのパスワード変更
2、新規ユーザーの追加・新規ユーザのパスワード登録
3、TeraTarmで公開鍵・秘密鍵の作成
4、TeraTarmでサーバに接続(ユーザIDとパスワードで接続)
5、ディレクトリ作成 .ssh
6、viで.sshディレクトリ内にauthorized_keysを作成
7、authorized_keysに公開鍵の中身を貼り付けて上書き保存。viで開いて確認OK
8、viで/etc/ssh/sshd_configを開き下記の4行を編集
 Port 1234
 PasswordAuthentication no
 PermitRootLogin no
 PermitEmptyPassword no
 ※参考サイトでは下記1行も編集と記載がございましたが同じ行は見つかりませんでした。
 AllowUsers ××
9、SSHの再起動・サーバそのものの再起動
10、TeraTarmで新しい接続を設定
 ・Portを上記で指定した値へ変更
 ・2で作成したユーザ名とパスフレーズを設定
 ・「RSA/DSA鍵を使う」で3で作成した秘密鍵を設定
11、接続を試みると「認証に失敗しました、再試行して下さい」とエラー

備考
sshd_configにauthorized_keysのパスを設定するような行がありましたが
この辺だったりするのでしょうか・・・予想で設定してみましたが結果は変わらずでした。

どなたかアドバイスを頂けないでしょうか。
よろしくお願い致します。

A 回答 (5件)

>11、接続を試みると「認証に失敗しました、再試行して下さい」とエラー



で、この時になにかログに記録されていませんか?

>5、ディレクトリ作成 .ssh
>6、viで.sshディレクトリ内にauthorized_keysを作成

オーナーやグループ、あと特にパーミッションはどうなっていますか?
# .sshディレクトリが他ユーザーでも読める状態だったりすると蹴られたと思いますが…。

この回答への補足

Wr5様

アドバイス有難うございますm(__)m

>で、この時になにかログに記録されていませんか?
・・・別ウィンドウなどは表示は無く
TeraTarmのユーザ名・パスフレーズを設定する画面のままです。
左上に下記の表示はございます。

ログイン中:IPアドレス
認証に失敗しました.再試行して下さい.

>オーナーやグループ、あと特にパーミッションはどうなっていますか?
何も変更しておりませんでした(^_^;)
さっそくチャレンジしてみますが、変更方法も知らない初心者です。
変更方法も勉強なので調べてチャレンジしてみます!
また結果が出ましたらご報告させて頂きます。
ありがとうございました。

補足日時:2012/05/30 19:26
    • good
    • 0

>・・・別ウィンドウなどは表示は無く


>TeraTarmのユーザ名・パスフレーズを設定する画面のままです。

いえ、サーバ側のログ…なんですが……
認証失敗ならそれなりの記録が残っているのではないかと。
# sshd_configで記録するログレベルを変えてみるとかいうのもアリかも知れません。
    • good
    • 0
この回答へのお礼

Wr5様

アドバイス有難うございます。
なるほど、ログですね・・・

仰る意味はとてもよくわかります!
しかし、恥ずかしながら僕が知識不足なので
操作方法をひとつひとつ学習しながら進めております。
少し時間が掛かるかもしれませんが
ご容赦下さい。

また進捗がありましたらご報告させて頂きます。
有難うございました。

お礼日時:2012/05/31 11:32

デフォルトだと、.ssh と .ssh/authorized_keys のパーミッション変更が必要です。



chmod -R go-w .ssh
と、書き込み権限を少なくとも落としておく必要があります。特に理由が無ければ、
chmod -R go-rwx .ssh
と、読み込みも出来なくしておくといいかと。このことが書いてないページというのは他にも怪しいですね。

PermitEmptyPassword no
は、パスワードでログイン可能な場合に空のパスワードを許さないと言うことで、
PasswordAuthentication no
で、パスワードのログインを禁止しているので、無意味です。
AllowUsers ××
は、そういう行を追加すれば、××というユーザだけがsshログインできますが、
PasswordAuthentication no
だと、.ssh の設定をしたユーザしかログインできないので、わざわざ指定する意味はほとんど無いと思います。

なお、sshd_configの設定次第では上記ファイルの書き込み権限チェックを無くすことも出来るようですが、普通は知らなくていいでしょう。わざわざセキュリティを弱める必要は無いので。
    • good
    • 0
この回答へのお礼

notnot 様

アドバイスからご丁寧なご説明まで頂き
心よりお礼申し上げます、有難うございますm(__)m

アクセス権限について勉強しておりましたが
理解する前に回答を頂けたので早速試させて頂きました!

しかし、他にもおかしい箇所があるのか結果は同じでした・・・
教えて頂いたコマンドを入力した後に下記コマンドを
打ってみた結果は下記です。

chmod -R go-rwx .ssh
ls -l .ssh
-rw------- 1 root root 396 may 31 11:59 authorized_keys

この部分の全体像は何となく見えてきたのですが
どこか初歩的な間違いがあったのかもしれません。
もう一度、OS再インストールからやり直してみます。
また結果をご報告させて頂きますのでよろしくお願い致します。

お礼日時:2012/06/01 15:36

>操作方法をひとつひとつ学習しながら進めております。


>少し時間が掛かるかもしれませんが
>ご容赦下さい。

自分で調べながら…という姿勢はよろしいかと思います。

が……

>さくらインターネットさんのVPS

とのことなので、少なくともsshを非標準ポートにする。
とか、AllowUsersでログインするユーザーを限定する。
とかしておかないと、さっくりとクラックされてしまう場合がありますのでそのあたりはご注意を。
http://anond.hatelabo.jp/20101027215137
http://d.hatena.ne.jp/MonteCut/20111112/1321075650

ちなみに…以前、実験的に自宅サーバで22番ポート開けたらさくらのVPSからと思われるSSHブルートフォースアタックを受けました。
VPSで動作していたサーバがクラックされて踏み台にされた可能性が高い…ということに。
# まぁ、韓国と中国だけで90%以上ありましたけどね。
    • good
    • 0
この回答へのお礼

Wr5 様

貴重なアドバイス有難うございます。
またセキュリティ面も皆様にご迷惑をお掛けしないよう
しっかりと学習し設定したいと思います。

Port変更の重要性は理解いたしましたので
必ず設定するようにいたします。

次にAllowUsersを設定した場合なんですが
少し僕の頭は混乱してるのかもしれません・・・
sshd_configでPermitRootLogin noを設定していた場合は
どのようになるのでしょう(-_-;)

試したいところですが、その環境も構築出来ない
自分が腹立たしいです(^^ゞ
もう少し初歩的な部分を今から勉強してきます。

また進捗はご報告させて頂きますので
よろしくお願いいたします。

お礼日時:2012/06/01 17:25

>次にAllowUsersを設定した場合なんですが


>少し僕の頭は混乱してるのかもしれません・・・
>sshd_configでPermitRootLogin noを設定していた場合は
>どのようになるのでしょう(-_-;)

PermitRootLogin noでrootユーザでのssh接続を禁止し、AllowUsers ×××で特定ユーザーでのssh接続を許可する。
ということになります。
AllowUsersで指定するユーザーがsuコマントでのrootユーザーへの切り替えを許可してあれば「rootでssh接続」をする必要は無いはずです。
で、sshブルートフォースでは、ユーザー名root/パスワードを辞書から…なんていう接続試行があります。
PermitRootLogin yesだった場合に、辞書に載っているようなパスワードを使っていた場合は、管理者権限をプレゼントすることになります。
ログインできてしまった時点で「なんでもアリ」な権限を持っていることになりますから。

PermitRootLogin noなら、rootユーザーでの認証はとにかく失敗するので安全性が増す。ということになります。
AllowUsersで指定するユーザー名が"test"とか、そんなのだったら意味ありませんけどね。
# その上パスワードが"12345"とかだったら、管理者権限プレゼントも時間の問題かも知れません。
# ローカルユーザーからの権限昇格なセキュリティホールが残っている可能性はあるかもしれませんし。
    • good
    • 0
この回答へのお礼

お礼が遅くなり大変申し訳ございません。
また貴重なご説明とアドバイス有難うございました。

おかげ様で僕の知識としては少しずつ理解出来ておりますが
完全では無いようで未だ接続は出来ておりません。

その後、他のサイトで案内されている方法もいくつか試してみましたが
結果は全く同じで接続には至っておりません・・・
何か根本的なところに原因があるのかもしれません。

もう少し原因について絞込めたら
また改めてご質問させて頂きたいと思いますので
一旦ベストアンサーとさせて頂きます。

ご丁寧なアドバイス誠に有難うございましたm(__)m

お礼日時:2012/06/05 11:41

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