質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

169閲覧

.sshを置く場所がマウントされているせいで分からない

ruei

総合スコア284

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2018/09/21 09:59

編集2018/09/21 10:10

sshの時に毎回パスワードを要求されるので、新たにid_rsaやauthorized_keysを置きたいと思っています。
ネットで検索すると、接続先の~/.ssh/にそれらのファイルを置けば良いみたいなのですが、
この~/がマウントされた場所にあるため、どこに置いたらいいかわかりません。
sshで外部サーバーAに接続し、そこからさらにもう一度sshで別のサーバーBに飛んでいます。
sshでAからBに飛んだ時、AのホームディレクトリがそのままBのホームディレクトリになっています。
つまり、最初にAにsshするときに使用する.sshがそのままBでも残ってしまっています。

このような場合、.sshはどこに置くべきなのでしょうか?

(すみません、本当にマウントされているかどうかはよくわからないです。ただ、AからBにsshすると強制的にAのホームディレクトリに飛ばされるということです)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ちょっと質問文を読んで混乱したのですが、
要は、同一ディスクスペース上で複数の鍵を運用するにはどうすればいいかという話だと理解していいのでしょうか。

authorized_keysは実態はテキストファイルで、鍵情報はふつうに改行して追記していけば良いです。
秘密鍵は適当にリネームしておけばいいでしょう。たとえばid_rsa-local2A id_rsa-A2Bみたいにしておけば混乱なく併存可能です。
Aへのログインの際はssh -i ~/.ssh/id_rsa-local2A ...
AからBへログインするときはA上でssh -i ~/.ssh/id_rsa-A2B ...という感じで。

投稿2018/09/21 10:26

KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ruei

2018/09/21 10:36

もしかして、(家のPC)→(サーバーA)→(サーバーB)とするとき、(家のPC)→(サーバーA)に使った、id_rsa, id_rsa.pubを(サーバーA)→(サーバーB)に使いまわすのは、許されませんか?(複数のid_rsaを運用する必要がありますか?)
ruei

2018/09/21 11:21

新しいくid_rsaを別名で作り直しましたが、ダメでした
guest

0

ベストアンサー

そのような環境であれば、.sshは共有することになりますね。
mountされているということは、そのように使うことを想定されているはずです。

投稿2018/09/21 10:10

ssasaki

総合スコア1167

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ruei

2018/09/21 10:19

.sshにauthorized_keysとid_rsaを入れているのにパスワードを要求されるのは、.sshを認識していないからではないということですか?
ssasaki

2018/09/21 10:38

パスフレーズではなくパスワードが要求されるのでしょうか? 公開鍵認証によるsshログインでも秘密鍵がパスフレーズ付きであれば、パスフレーズは原則毎回要求されますよ。
ruei

2018/09/21 10:46

server-name's password: と表示されます。 秘密鍵のid_rsaはパスフレーズ無しで設定しているので、 おかしいですね・・・。
ssasaki

2018/09/21 10:53

なるほど。それはパスワードを聞かれていますね。 とすると、.sshが認識されていない可能性もありますが、それ以外にもいろいろと可能性があります。 鍵が不正だったり、owner やパーミッションが不正だったり、場合によってはBの sshd の設定も関係してくるかもしれません。 Bのサーバにはパスワードを入れればログインは可能なのでしょうか? もし可能であれば、Bのサーバ内の /var/log/secure 等でBのサーバにsshログインした際のログを確認してみることをおすすめします。
taka-saan

2018/09/21 10:56

おじゃまします。 念のため確認ですが、 ファイルのパーミッションは600になっていますよね? AサーバにいるときとBサーバにいるときは自分のuidは同じですよね?
ruei

2018/09/21 11:22 編集

uidをコマンドidによって調べたところ、一緒でした。id_rsaとauthorized_keysはchmod 600をしています。 /var/log/secureというファイルはなかったです。 /var/log/ないのファイルは権限がないようでcatしても表示できませんでした。
ssasaki

2018/09/21 11:23

id_rsa は 400 にしてください。 Aで ssh を実行する際に何かメッセージが出ないですか? /var/log が見れないということは、Bサーバではroot権限にはなれないのですかね?
ssasaki

2018/09/21 11:26

すみません。id_rsaが400でないといけないのは環境によるようです。 もう1つあり得るとすればユーザー名ですが、ユーザー名はすべてのマシンで同一ですか?
ruei

2018/09/21 11:48 編集

id_rsaを400にしてもダメでした。 whoamiで調べたところ、ユーザー名はサーバーA, サーバーB間で同じでした。 自分はAサーバーでもBサーバーでもroot権限にはなれないです。 AからBにsshするときは特にメッセージはでないです。(server-name's password:を除く) -vをつけて実行すると次のログが得られました。 OpenSSH_6.0p1 Debian-4+deb7u7, OpenSSL 1.0.1t 3 May 2016 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug1: Connecting to <server-name> [<server-address>] port 22. debug1: Connection established. debug1: identity file /home/<my name>/.ssh/id_rsa type 1 debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048 debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048 debug1: identity file /home/<my-name>/.ssh/id_rsa-cert type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1.10 debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.10 pat OpenSSH_5* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u7 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr hmac-md5 none debug1: kex: client->server aes128-ctr hmac-md5 none debug1: sending SSH2_MSG_KEX_ECDH_INIT debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: Server host key: ECDSA b0:54:48:4c:9a:e9:4b:48:f3:73:55:c1:78:41:d2:fd debug1: Host '<host-name>' is known and matches the ECDSA host key. debug1: Found key in /home/<my-name>/.ssh/known_hosts:1 debug1: ssh_ecdsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password debug1: Next authentication method: gssapi-keyex debug1: No valid Key exchange context debug1: Next authentication method: gssapi-with-mic debug1: Unspecified GSS failure. Minor code may provide more information Credentials cache file '/tmp/krb5cc_1099' not found debug1: Unspecified GSS failure. Minor code may provide more information Credentials cache file '/tmp/krb5cc_1099' not found debug1: Unspecified GSS failure. Minor code may provide more information debug1: Unspecified GSS failure. Minor code may provide more information Credentials cache file '/tmp/krb5cc_1099' not found debug1: Next authentication method: publickey debug1: Offering RSA public key: /home/<my-name>/.ssh/id_rsa debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password debug1: Next authentication method: password
ruei

2018/09/21 12:41

すみません、質問の本題とかなり外れてきた感じがするので、質問自体は解決済みにしました。 記載されたリンクに従って.ssh内の*.pubを削除したところ、Offerfing RSA public.keyというのはなくなりました。
ruei

2018/09/21 12:43 編集

ただまだパスワードは要求されます・・・。-vvvで実行したところ ログは次のようになりました。 (publickeyのところだけ抜粋) debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Trying private key: /home/<my name>/.ssh/id_rsa debug1: read PEM private key done: type RSA debug3: sign_and_send_pubkey: RSA c7:8b:10:20:8b:59:25:55:8b:21:3e:8d:8e:b6:db:88 debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
ssasaki

2018/09/21 13:00

うーん、クライアントのログとしては普通ですね。 サーバ側のログが見れないとピンポイントでは判断できなさそうです。 整理すると、 ・サーバAへは鍵認証でログインできている ・サーバAログイン時に使用した id_rsa をサーバAの ~/.ssh/id_rsaとして置いている ・サーバAの .ssh, authorized_keys, id_rsa の ownerとパーミッションは問題ない ・サーバBでは home ディレクトリがサーバAと同一。ユーザー名、uidも同じ であれば、普通に鍵認証が有効になるはずだと思うんですけどね。。。 すみません。これ以上はわからないです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問