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

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

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

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

Q&A

解決済

2回答

3773閲覧

プログラミング初心者です。ssh接続?がさっぱりわかりません。

HidenoriYamano

総合スコア60

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

0グッド

0クリップ

投稿2015/06/12 04:04

編集2015/06/12 07:58

研究室で、データベースを構築しようとしているのですが、元データをあるホスト?から秘密鍵を使ってとってきたいのですが、どのようにやればいいのか全くわかりません。ちなみに、あるサイトを見ながら一つずつ打ち込んでいったのですがうまくわかりません。秘密鍵をどのように使うのかもわかりません。どなたか素人でもわかるようにわかりやすく解説してくれたら嬉しいです。
ちなみに、下のURLを参考にしました。
http://webkaru.net/linux/mac-ssh-login-public-key/

追記です。
接続サーバーのOSはubuntuで、自分のOSはmacです。
また、研究室で使用しているPCのOSはmacで、WinScpを使用しています。

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

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

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

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

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

guest

回答2

0

ベストアンサー

WindowsサーバにSSH接続したいのであれば前提として
そのWindows側にSSHサーバが立っている必要がありますが問題ないでしょうか?
通常WindowsをインストールしただけではSSHサーバはインストールされていません。

SSHサーバが立っていて(Listenしていて)、
その上でSSHサーバに公開鍵を認識させることで初めて秘密鍵を使ってSSH接続が可能になります。
(そのあたりURLに記載されているページではかなり説明不足ですが)


ここから先は推察

相手のosは、おそらくWindowsだと思います。今、自分の研究室では、winscpを使ってデータを取得してるからです。

WinSCPを使っているからと言って接続先がWindowsだとは限らないです。
WinSCP はあくまでWindows用のクライアントであり、
かつSSH以外にもSFTPやらFTPやらWevDAV等サポートしています。

やりたいこととしては以下のような形だと思うのですがどうでしょうか?
(勘違いでしたらすみません)
![推察]WIDTH:514
この場合ポイントとなるのは下記です。

  • WinSCPで接続しているプロトコルはSSH(SCP)であるか
  • 接続先サーバに公開鍵を設置することは可能か

投稿2015/06/12 06:08

編集2015/06/12 09:01
PruneMazui

総合スコア227

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

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

HidenoriYamano

2015/06/12 08:05

詳しい解説ありがとうございます! 推察は的確です!! 接続先のOSは、ubuntuでした。 WinScpのプロトコルを確認したところ、SCPになっていました。 公開鍵の設置に関しては、サーバー先に確認中ですのでまだわかりません。 ***.ppkという秘密鍵が手元にあるのですが、それだけでは不十分なのでしょうか。
PruneMazui

2015/06/12 08:47

手元にある秘密鍵はWinSCPで使っていたものでしょうか? その前提かつWinSCPでログインできているという前提で話を進めます。 (WinSCPでログインできているなら公開鍵は既に設置されているはず) 1. Putty形式(拡張子ppk)からOpenSSH形式への変換をしてください。 (鍵の形式としてPutty形式、OpenSSH形式、SECSH形式等があり、WinSCPはPutty形式、MacのSSHクライアントはサイトの通りであればOpenSSH形式です。) 変換の仕方はこのあたりを見てください。 http://www.tkd55.net/blog/?p=873 2. 変換した秘密鍵を自分の秘密鍵に設置してください。 > ちなみに、下のURLを参考にしました。 > http://webkaru.net/linux/mac-ssh-login-public-key/ 上記のサイトでは/home/karuma/.ssh/id_rsaに当たります 3. WinSCPと同じ接続情報でもってSSHコマンドを実行してください。 $ ssh WinSCPでログインしているユーザー名@ubuntuのIPアドレス WinSCPと同じユーザーでもってログインを試みているので運用的に問題ありそうな気もしますが、取り急ぎ上記でログインはできると思います。
HidenoriYamano

2015/06/12 13:11

上記を参考にして接続を試みましたが、 scp ~/.ssh/id_rsa.pub karuma@aaa.bbb.ccc.ddd:~/.ssh/authorized_keys と打つと Permission denied (publickey). lost connection と表示されてしまいました。なぜでしょうか>< それと、 Enter passphrase (empty for no passphrase): ← パスフレーズを入力します とありますが、パスフレーズとはなんでしょうか。winscpでのログイン時に必要なパスワードを打ち込めばいいのでしょうか。
PruneMazui

2015/06/13 01:15

> scp ~/.ssh/id_rsa.pub karuma@aaa.bbb.ccc.ddd:~/.ssh/authorized_keys 上記のコマンドを噛み砕いて言うと aaa.bbb.ccc.ddd というホストの karuma というユーザーに対して、ssh で公開鍵を送信、設置するというようなコマンドです。 下記の前提なら公開鍵は既に設置されているはずなので上記は不要なのですが、そうではないということでしょうか? > 手元にある秘密鍵はWinSCPで使っていたものでしょうか? > その前提かつWinSCPでログインできているという前提で話を進めます。 > (WinSCPでログインできているなら公開鍵は既に設置されているはず) > Enter passphrase (empty for no passphrase): ← パスフレーズを入力します 上記は何をしているときに出たのですか? (秘密鍵の変換ですかね?)
HidenoriYamano

2015/06/13 09:12

> 手元にある秘密鍵はWinSCPで使っていたものでしょうか? そうです。これを、opensshに変換しました。 >上記は何をしているときに出たのですか? $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/karuma/.ssh/id_rsa): ← Enterキーを押します Created directory '/home/karuma/.ssh'. ← ~/.ssh がない場合、ディレクトリを作成します Enter passphrase (empty for no passphrase): ← パスフレーズを入力します Enter same passphrase again: ← もう一度パスフレーズを入力します ここでひょじされます。 また、 >$ scp ~/.ssh/id_rsa.pub karuma@aaa.bbb.ccc.ddd:~/.ssh/authorized_keys をじっこうすると、 Permission denied (publickey). lost connection と表示されてしまいます。なぜでしょうか。
PruneMazui

2015/06/13 10:17

> $ ssh-keygen -t rsa これは公開鍵と秘密鍵のペアを生成するコマンドです。 .ssh/id_rsa がOpenSSH形式の秘密鍵 .ssh/id_rsa.pub が公開鍵になります。 が、今既にWinSCPで使っている秘密鍵を持っていて、 既に公開鍵もubuntuに設置されていますよね? ですのでこのコマンドは不要ではないでしょうか。 > $ scp ~/.ssh/id_rsa.pub karuma@aaa.bbb.ccc.ddd:~/.ssh/authorized_keys これは公開鍵をログインしたいサーバに設置するコマンドです。 同様にこちらも不要ですよね。 > Enter passphrase (empty for no passphrase): ← パスフレーズを入力します 補足すると上記は秘密鍵に設定するパスワードです。 入力せずにそのままEnterを押すとパスワードなしにできます。 今やらないといけないことは前々回のコメントで書いた通り、下記の3つです。  1. Putty形式(拡張子ppk)からOpenSSH形式への変換  2. 変換した秘密鍵を自分の秘密鍵に設置  3. WinSCPと同じ接続情報でもってSSHコマンドを実行 とりあえず参考サイト等でコマンドを実行するときは そのコマンドで何をしているのか意識しながらやらないと なかなか理解に結びつかないのではないかと思います。
HidenoriYamano

2015/06/14 01:08

色々試行錯誤してみた結果、 $ ssh -i ~/.ppk user@IPaddress で接続できました。opensshに変換せずにできたのですが、なぜでしょう。
PruneMazui

2015/06/14 01:24

ppk という拡張子だけど中身は OpenSSH 形式だったとかですかね? 元々そういう中身だったとか OpenSSH 形式に変換するときに元の ppk ファイルを上書きしてしまったとか・・・ とりあえず秘密鍵の中身を見て、1行目に書いてる内容で大体判別できます。 putty … PuTTY-User-Key-File~ OpenSSH … -----BEGIN RSA PRIVATE KEY----- SECSH … ---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
HidenoriYamano

2015/06/14 05:51

1行目は -----BEGIN RSA PRIVATE KEY----- となっていました。
PruneMazui

2015/06/14 06:19

ということは拡張子だけPutty形式で、中身がOpenSSHの秘密鍵だったということですね。 接続できたとのことなのでそのままでもいいと思いますが、 私だったら秘密鍵を id_rsa というファイル名にして ~/.ssh/ 以下に配置します。 そうすると -i で秘密鍵を指定しなくても勝手に使ってくれますので。 (設定にもよりますがデフォルトはそうなっています) とりあえず解決したと思いますのでこんなところですかね。
HidenoriYamano

2015/06/15 04:46

そうだったんですね。ありがとうございました。ファイルの設置先の移動もやってみたいと思います。また機会がありましたらよろしくお願いします。
guest

0

ssh接続とは簡単に言うと接続先のデバイスを遠隔操作できるのです!
お尋ねしたいのですが、sshを使用して接続する相手のOSは何を使用しているのでしょうか??

投稿2015/06/12 04:15

Daichi

総合スコア47

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

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

HidenoriYamano

2015/06/12 04:41

相手のosは、おそらくWindowsだと思います。今、自分の研究室では、winscpを使ってデータを取得してるからです。 ちなみに今回、自分はmac で接続しようとしています!
Daichi

2015/06/12 05:00

今回やろうとしているのは、秘密鍵を使用して接続して接続先からデータを取得したいという事であってますか??
HidenoriYamano

2015/06/12 07:37

はい、そうです! OSを確認したところ、ubuntuでした。すいません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問