- ベストアンサー
クライアントPCからのSSH接続について
- WindowsのTeraTermを使用して、LinuxサーバーにSSH接続する方法について説明します。
- 接続コマンドや接続できない場合の対処方法についてもご紹介します。
- さらに、SSHサーバーへのアクセス制御や公開鍵の設定について説明します。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
普通に考えてNo such file or directory.です。 ls home/user/.ssh/authorized_keys これで、ファイルが表示されないなら、パス指定が間違っています。 まぁ、普通は、Linux系OSだと個人のファイルを指定するなら 自分のホームディレクトリーは~/で記述します。 Windowsの場合は、~/が使えないと思いますが それ以前に、ファイルシステムの管理概念が違うので WindowsとLinuxでは、パス指定の書式は共通では無いことが多いはずです。 オプションについても、異なるssh実装では、異なる場合があり、要注意です。 TeraTermでの接続方法を参考にするのであれば それはTeraTermでしか動作検証できません。 そして、その問題のほとんどはLinux系OSの問題というよりも Windows用ソフトの、特有の問題と考えるべきです。
その他の回答 (5)
- wormhole
- ベストアンサー率28% (1626/5665)
>ls ~/.ssh/authorized_keys > >では、 >home/user/.ssh/authorized_keysと >返されます。 書き間違えなのかもしれませんが、それはないかと。 どこがおかしいのかは気づいてください。 >#vi /etc/hosts.allow >sshd:(クライアントPCのIPアドレスのみ記述) 最終目標であるクライアントから接続するときは、それであってますが 今回やってるサーバー上からの接続だと、それではつながりませんよ。 サーバー上から接続するときの設定だろうと指摘してなかったんですけど・・・
お礼
wormholeさん コメントありがとうございます。 >どこがおかしいのかは気づいてください。 すぐにコレといった心当たりは ありませんが、ちょっと考えてみます。 >今回やってるサーバー上からの接続だと、それではつながりませんよ。 ご指摘ありがとうございます、 サーバー上からの接続のときは、 別途対策を考えます。
- A1200hd40
- ベストアンサー率51% (336/647)
>#vi /etc/hosts.deny >sshd:all >#vi /etc/hosts/hosts.allow >sshd:(サーバーのIPアドレスのみ記述) 門外漢がレス返すのも何ですが、これだと、「サーバ」からの操作以外蹴られやしませんか? この「サーバ」が、これから接続しようとしているCentOSホストの事なら、全蹴り設定で、「クライアント」の接続まで蹴ってたら、認証以前の問題では? レンジを絞るなり、アドレスを限定するなりして、アクセスを「許可」してみては?
お礼
A1200hd40さま コメントありがとうございます。 >#vi /etc/hosts/hosts.allow >sshd:(サーバーのIPアドレスのみ記述) 恐れ入ります。 私が質問した記述が間違ってました。 正しくは、 #vi /etc/hosts.allow sshd:(クライアントPCのIPアドレスのみ記述) でした。 ご指摘助かります。
- wormhole
- ベストアンサー率28% (1626/5665)
他の方がもう書いてるので書く必要もなさそうですけど。 >「ファイルの不一致。 >authorized_keysというファイルにはアクセスできない」 >ということだと思います。 「ファイルの不一致」はどこから出てきたんでしょうか。 >>カレントディレクトリ基準で、home/user/.ssh/authorized_keys ありましたか? > >はい。あります。 >ただし以下のコマンドで > すでにパーミッションを変えています。 >$chmod 600 .ssh/authorized_keys >$chmod 700 .ssh 「あります」といってるのはカレントディレクトリから見て .ssh/authorized_keys ではないのですか? .ssh/authorized_keys home/user/.ssh/authorized_keys の2つを見て同じに見えますか?
お礼
wormholeさま コメントありがとうございます。 >.ssh/authorized_keys home/user/.ssh/authorized_keys の2つを見て同じに見えますか? 恐れ入ります。違いますね…。 相対パス カレンディレクトリ ~/ のそれぞれの意味をもう一度 おさらいしてみます。
- Wr5
- ベストアンサー率53% (2173/4061)
>「ファイルの不一致。 >authorized_keysというファイルにはアクセスできない」 >ということだと思います。 ファイル、またはディレクトリがないからそんなファイルにはアクセスできない。 って感じの意味ですかね。 # アクセス権(パーミッション)の場合はまた別のエラーメッセージになりますし。 >>その際のそれを実行したユーザーとカレントディレクトリはどうったのでしょうか? >一般ユーザーでカレントディレクトリは >一般ユーザーのホームディレクトリでした。 >(home/user) 相対パスの記述なんですが… pwdコマンド実行してみました? 「/home/user」の間違いだったとして……。 >>カレントディレクトリ基準で、home/user/.ssh/authorized_keys ありましたか? >はい。あります。 ということは、 /home/user/home/user/.ssh/authorized_keys が存在するという認識で合っていますか? # 「カレントディレクトリ基準で」と書かれていますけど。 # 相対パス指定になるので「/home/user/.ssh/authorized_keys」を指定していませんよ。 # カレントディレクトリが/だった場合を除いて。 とりあえず、現状ではWindows8.1とかTeraTermとか関係ない…ですよね。
お礼
Wr5さま コメントありがとうございます。 >ということは、 /home/user/home/user/.ssh/authorized_keys が存在するという認識で合っていますか? すいません。 合ってませんでした。 /home/user/home/user/という、 ディレクトリ構造は存在してません。 相対パス カレントディレクトリ という概念をもう一度おさらいしてみます。
- wormhole
- ベストアンサー率28% (1626/5665)
Windows上のTeraTermをターミナルソフトとしてというのは最終的にはそうする事が目標で、 >$ ssh -l user -p 22 -i home/user/.ssh/authorized_keys server 上記コマンドは、試しにLinuxのサーバーで行ったという事でいいんでしょうか。 その際のそれを実行したユーザーとカレントディレクトリはどうったのでしょうか? >Warning: Identity file home/user/.ssh/authorized_keys not accessible: No such file or directory. 上記、警告の意味は理解されていますか? カレントディレクトリ基準で、home/user/.ssh/authorized_keys ありましたか?
お礼
wormholeさま コメントありがとうございます。 >$ ssh -l user -p 22 -i home/user/.ssh/authorized_keys server 上記コマンドは、試しにLinuxのサーバーで行ったという事でいいんでしょうか。 ご指摘の通りです。 あえてこのコマンドでSSHサーバーに接続するのが 目的で行っています。 >その際のそれを実行したユーザーとカレントディレクトリはどうったのでしょうか? 一般ユーザーでカレントディレクトリは 一般ユーザーのホームディレクトリでした。 (home/user) >Warning: Identity file home/user/.ssh/authorized_keys not accessible: No such file or directory. 上記、警告の意味は理解されていますか? 「ファイルの不一致。 authorized_keysというファイルにはアクセスできない」 ということだと思います。 >カレントディレクトリ基準で、home/user/.ssh/authorized_keys ありましたか? はい。あります。 ただし以下のコマンドで すでにパーミッションを変えています。 $chmod 600 .ssh/authorized_keys $chmod 700 .ssh
お礼
vaiduryaさま コメントありがとうございます。 [user@server ~]の状態で、 ls home/user/.ssh/authorized_keys ではcannot access そのようなファイルやディ レクトリはありません と返されますが、 ls ~/.ssh/authorized_keys では、 home/user/.ssh/authorized_keysと 返されます。 cat ~/.ssh/authorized_keys のコマンドを打つと、 公開鍵の文字列が閲覧できます。 >自分のホームディレクトリーは~/で記述します。 恐れ入ります。 そのことをすっかり忘れていました。 教えていただいて助かります。