• 締切済み

SSH に ついて

最近、FTPサーバーの起動のさせ方は判ったのですが 色々検索して、質問をすると 個人でのデータのやり取りだと、 SSHでSCPが良いとの意見がありましたので、今勉強しています・・・ CENTOS6 のサーバー機用のPCに SSHをインストールしましたが 設定のところで詰まってる感じ?です 手持ちのLINUXの本を参考にし、 また、このサイトを参考にしました・・・ http://www.multiburst.net/sometime-php/2010/11/sshd/ ここの 『 SSH2による鍵の生成 』 まではやりましたが 先の方がどうもよく判りません・・・ 『 公開鍵の移動 』 ですがどうしたらいいのでしょうか? A機はマイPC で B機はサーバー機 A機で作ったデータを暗号化でB機に移動したいのですが B機で作った公開鍵と秘密鍵を、何かにコピーしたりして A機に公開鍵をうつせばいいのでしょうか? A → B と言う事は、両方必要なのはB機で A機は公開鍵だけ持っていればいいのでしょうか? また、データの持ち運びはメモリスティックだと簡単なのでしょうか? (未だに使った事ありませんので、便利なら購入を検討しています)

みんなの回答

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.3

>A機はWIN7 で >B機はCENTOS6 ですが >OSが違っても、作業に支障はないのでしょうか? >WIN7で鍵を作ってCENTOS側に送ると >ファイル形式の違い? とかあるのでしょうか? 公開鍵の実体は1行のテキスト…でしょうからファイル形式の違いは問題にならないかと。 # 故に端末からテキストエディタで貼り付けることも可能です。 秘密鍵の方は…使用するクライアントによって微妙に形式が違うことはあります。 opensshとssh.com(こちらは使ったことないので詳細は不明)、PuTTYが使う形式などなど……。

hiroziro888
質問者

お礼

詳しい解説、有難う御座います!!

hiroziro888
質問者

補足

なるほど、テキストなんですね・・・ 自分は最近使おうかと検討したものなので 正直クライアントの種類等も全く把握してません と、言う事はCENTOS側で 『 RSA SSHv1 』 を使った場合は WINDOWS側でも同様のソフト?を入れればいいのでしょうか?

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

>A機はマイPC で B機はサーバー機 >A機で作ったデータを暗号化でB機に移動したいのですが >B機で作った公開鍵と秘密鍵を、何かにコピーしたりして >A機に公開鍵をうつせばいいのでしょうか? >A → B と言う事は、両方必要なのはB機で >A機は公開鍵だけ持っていればいいのでしょうか? 公開鍵はサーバ側にあるだけでOKです。 クライアント側は秘密鍵だけでOKです。 # まぁ、普通なら秘密鍵から公開鍵は生成できるのですが…。 「公開」鍵という名前から勘違いされているのかもしれませんが、置かれるのはサーバ側ですのでお間違えないように。 対応する秘密鍵の管理を厳重にすることで、安全を担保する。ということになります。 サーバに置いたのが秘密鍵で公開鍵をクライアントが持っている場合は…… 公開されている鍵なんですから誰でもログイン可能になります。 『誰でもおっけーよ~ん』がセキュリティ的に安全でしょうか? # まぁ、SSHの公開鍵認証で使う公開鍵を実際に配布しまくる人は居ないでしょうけどね…。 秘密鍵1つに対して、複数のサーバに同じ公開鍵を使う。という方法はアリでしょう。 # 秘密鍵とパスフレーズが漏れた時のダメージもそれなりに増しますけどね。 >『 公開鍵の移動 』 ですがどうしたらいいのでしょうか? ローカルネットワーク内(というかパケット盗聴される可能性がない)に限りますが… FTPで送る。とか、 telnetで接続して貼り付ける。とか……。 FTPSならば、ローカルネットワーク以外でも一応は使えるでしょう。 # FTPSのサービスがどれだけ動いているのか…という問題はありますが。 ローカルネットワーク内ではない。とかいう場合には、フロッピーとかUSBメモリなどで移動(実際に現地まで行く)ということになるんでしょう…。 # まあ、今だと……SSHを限定的にパスワード認証で稼動させて接続後に公開鍵を登録、その後にパスワード認証を禁止に変更する。 # って運用でしょうかねぇ。 ユーザー追加の時とかちょっと手間ですが。

hiroziro888
質問者

お礼

詳しい解説、有難う御座います!!

hiroziro888
質問者

補足

何となくイメージできました・・・ データ作成側は、送るだけだから データを暗号化させるだけの鍵・・・公開鍵だけでいいって事ですよね? で、受け取り手はそれを解除するから秘密鍵って事ですね・・・ で、CENTOSとWIN、どちらもデータのやり取りがしたいなら どちらも、おなじ鍵を持ってるとできますよね? あるいはセキュリティを気にした場合は サーバー → マイPC と マイPC → サーバー は別のペアを持つべきでしょうか? そうなる場合は・・・ 例えば公開・秘密鍵のAペアとBペアがあって サーバー → マイPC は A公開・A秘密 マイPC → サーバー は B秘密・B公開 を所持しておくべきでしょうか? === FTPは一応できますね・・・ それでやる事も頭に入れておきます!

回答No.1

手順を見る限り Aで作成したものでもBで作成したものでもいいですね。 Aで作成したのなら公開も秘密もBに送る必要があります。 Bで作成したのなら公開も秘密もAに送る必要があります。 要はどっちかで作成したものを相手側に送ればいいだけです。 上記手順ではクライアント側で作成した物をサーバ側に送る方法を進めてますね。 (理由はサーバ側からだとめんどくさいからだけだと思いますが) 最終的にはAにもBにも公開鍵も秘密鍵必要になります。 USBメモリが接続できればそれで事足りますね。 (ちなみに利便性とセキュリティは相反するものとお考えください。)

hiroziro888
質問者

お礼

詳しい解説、有難う御座います!

hiroziro888
質問者

補足

両方必要なんですか! これは理解できました A機はWIN7 で B機はCENTOS6 ですが OSが違っても、作業に支障はないのでしょうか? WIN7で鍵を作ってCENTOS側に送ると ファイル形式の違い? とかあるのでしょうか? >USBメモリが接続できればそれで事足りますね。 >(ちなみに利便性とセキュリティは相反するものとお考えください。) 一応、個人で 同じ部屋のPCですが、これなら(余計な事をしない限り)大丈夫ですよね? フラッシュメモリにウイルスが入る可能性のある使い方とか 別のパソコンのデータを持ち込んだりみたいな イレギュラーが発生しそうな感じ?を避ける使い方で・・・

関連するQ&A

  • SSHって・・?

    Linux勉強中で疑問に思っている点があります。 SSHを利用すると、暗号化を行うことができるということですが・・・・教えて下さい。たとえば・・・ 例:Aはサーバーで秘密鍵を保持、Bはクライアントで   公開鍵を保持。 B(クライアント/公開鍵)→A(サーバー/秘密鍵) 公開鍵を使ってサーバーAにデータを送信後、 サーバー側では、秘密鍵を使ってデータを解読。 A(サーバー/秘密鍵)→B(クライアント/公開鍵) この場合は、データはどう暗号化されているのでしょうか?秘密鍵でデータを暗号をすると、公開鍵を持ってる人達には解読できてしまうのですよね? "ls"コマンドで叩いた機密情報が仮にA→Bに結果が返ってくる場合は、暗号化されないのでしょうか? SSHを使ってFTPをする場合も同様のことはいえないのでしょうか?? Webで情報を集めて、公開鍵と秘密鍵の事に関しては 調べてみたつもりなのですが・・・ 申し訳ありませんが、ご教授下さい。 よろしくお願い致します。

  • パソコンを買い替えたら、SSH でサーバに入れなくなってしまいました。

    パソコンを買い替えたら、SSH でサーバに入れなくなってしまいました。 CentOS5.4 で自宅サーバを構築しています。クライアント機は、このたび Windows7 搭載のPC に買い替え、Teraterm TTSSH (Ver 2.53) をインストールしました。認証方式は RSA です。 旧 PC からはサーバに円滑にログインできます。 クライアント(新PC)のid_rsaファイルは読取専用のチェックを外し、サーバの authorized_keys ファイルのパーミッションは 755 としています。 /etc/ssh/sshd_config の最後に次の行を追加しています。 AllowUsers abc@192.168.0.11 abc@192.168.0.12 (0.11が旧PC、0.12が新PCです)。 この状態で 1.旧PC の id_rsa を新PCにコピーし、ssh でログインしようとしたら、鍵照合画面で 「開く」ボタンを押しても無反応で画面が動きません。 2.そのため、新PCで改めて公開鍵と秘密鍵を作成し、公開鍵をサーバの authorized_keys に次の通り追記しましたが、やはり、新 PC の鍵照合画面で「開く」ボタンを押しても無反応で画面が動かないのです。 cat /home/abc/.ssh/authorized_keys ssh-rsa AAAAB3・・・・・・5BCWh8= pqr@********** ssh-rsa AAAAB3・・・・・6/bJ2w==  xyz@********** 何故ログインできないのでしょうか? どうすれば解決できるでしょうか? 大変困っています。よろしくお願いします。

  • DebianへのSSHの導入

    http://www17.ocn.ne.jp/~tuzre/server/vl_sshd.html を参考にSSHを研究室のDebianのサーバー に導入しようとしていますが 公開鍵を作成するところで could not create directory というエラーが出て 作成することができません。 linuxにあまり詳しくないので わかりやすく教えて頂ければ 幸いです。

  • ssh鍵認証

    Aサーバーでsshで秘密鍵と公開鍵をを作成し、公開鍵のみをBサーバーへ置きました。 AサーバーからBサーバーへノンパスでログインはできたのですが、 BサーバーからAサーバーへのノンパスでのログインはできません。 (パスワードが聞かれてしまう) BサーバーからAサーバーへノンパスログイン(鍵認証)するにはどのようにすればよろしいでしょうか? ご存知の方、宜しくお願いします。

  • ssh の仕組み

    ssh の仕組みについて、よくわからない事があるので、よろしくお願いします。 (サーバの設定) ・/etc/ssh/sshd_config ファイルの編集をして、ルート権限ログインできないようにする。 ・デーモンを起動する。 (クライアントの設定) 1#ssh-keygen -t rsa 2#mv id_rsa.pub authorized_keys2 3#ssh hoge@192.168.x.x 4#rsa を入力 5#known_hostに関してのプロンプトに、yesで答える 6#パスワードを入力 上記の手順を踏んだとき、 まず、 (質問1:) 4のrsaを入力というのは、 相手側に自分の公開鍵を渡すと言う事でいいのでしょうか?? (質問2) これで、ログインした場合、サーバはその公開鍵を使って、暗号化→クライアントはそれを自分の秘密鍵(id_rsa)により、復号化。という解釈でいいのでしょうか? (質問3) 質問2の場合、クライアントから、サーバに送信するメッセージは暗号化されていないのでしょうか? (質問4) /etc/ssh/sshd_configの設定で、RSAAuthorized no にしてしまったら、 暗号化されないで、平分で、データが流れてしまうのでしょうか? (質問5) 結局のところ、SSHというものは、ユーザのパスワードを知っていたら、簡単に侵入ができるようなものなのでしょうか? (質問6) 上記の手順自体が全く間違っているのでしょうか? (質問7) ~/.ssh/known_hosts の中に入っているデータはいったいなんなんでしょうか??(相手の公開鍵??) /* 長くなりましたが、答えれる部分でいいので、よろしければお答えいただけないでしょうか。どうか、よろしくお願いします。

  • SSHの公開鍵について

    お世話になっております。 現在3台のサーバA,B,Cがあり、AのサーバからB,Cにパスワードなしでログインできるようにするため、 AのサーバでSSHの公開鍵と秘密鍵を作成しました。(パスフレーズはnull) 具体的な手順は以下になります。 ------------------------------------------------------------------------------------------- 1. Aサーバにて公開鍵と秘密鍵を作成 A # ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (//.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in //.ssh/id_rsa. Your public key has been saved in //.ssh/id_rsa.pub. The key fingerprint is: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx root@A 2. 秘密鍵、公開鍵が作成されていることを確認 A # ls ~/.ssh id_rsa id_rsa.pub known_hosts 3. 公開鍵をBとCサーバへ配信 A # scp ~/.ssh/id_rsa.pub root@B:/tmp Password: id_rsa.pub 100% |***************************************| 223 00:00 4. BとCサーバ側で公開鍵の登録 B # cat /tmp/id_rsa.pub > ~/.ssh/authorized_keys ------------------------------------------------------------------------------------------- 登録後、AサーバからB,CサーバにSSHで接続してみたのですが、一見パスワードなしでログインできているようでした。 ただ、何故か B,Cサーバや無関係なDサーバからもAサーバへパスワードなしでアクセスできてしまいます。 公開鍵を登録したのはB,Cサーバのみで、B,CサーバからAサーバに対してパスワードなしでアクセスできないはずという認識です。 更に、数日後AサーバからB,Cサーバに接続を試みたところ、以下のメッセージが出力されました。 ------------------------------------------------------------------------------------------- ホスト 'B (1.1.1.1)' の認証を確立できません. RSA 鍵フィンガープリントは xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx です 本当に接続を継続してもよろしいですか (yes/no)? ------------------------------------------------------------------------------------------- 公開鍵はBサーバ初回接続時にknown_hostsへ登録済みで、Bサーバ側のIPアドレスの変更なども実施していません。 SSHの仕様で、公開鍵が数日で変更されるのでしょうか? 上記について、アドバイスや問題点があればご教示いただければ幸いです。

  • クライアントPCの端末からからssh 接続

    クライアントPCの端末からからssh 接続をするためには? ○質問の主旨 WindowsのTeraTermをターミナルソフトとして、 Linuxのサーバー上にある SSHサーバーに接続したいと考えています。 そのときの接続コマンドは、以下の通りです。 $ ssh -l user -p 22 -i home/user/.ssh/authorized_keys server user→一般ユーザーの名前 22→ポート番号 home/user/.ssh/authorized_keys→公開鍵のパス名 server→SSHサーバーのホスト名 参考サイト http://dogmap.jp/2011/10/27/ssh_config/ しかし、上記のコマンドで接続しようとすると 下記のように叱られて、接続することができません。 Warning: Identity file home/user/.ssh/authorized_keys not accessible: No such file or directory. ssh_exchange_identification: Connection closed by remote host どのように接続するためにはどのように対処すれば よろしいでしょうか? ご存知の方がいらっしゃいましたら、 ご教示願います。 ○質問の補足 現在、SSHサーバーへのアクセス制御は以下のように設定しています。 #vi /etc/hosts.deny sshd:all #vi /etc/hosts/hosts.allow sshd:(サーバーのIPアドレスのみ記述) #vi /etc/ssh/sshd_config MaxStartups 10 (#MaxStartupsとコメントにされていたので#を削除) 参考サイト http://wsjp.blogspot.jp/2012/08/sshexchangeidentification-connection.html また一般ユーザーのホームディレクトリの下に .sshと言う名前のフォルダを使って、 authorized_keysという名前のファイルに 公開鍵で使用する文字列を書き込んでいます。 ○環境 クライアントPC:windows8.1 ターミナルソフト:TeraTerm Pro サーバー:Linux(CentOS6.0)

  • TeraTermからレンタルサーバーのCentOSへのsshについて

    TeraTermからレンタルサーバーのCentOSへのsshについて WinXP上からTera TermでレンタルサーバーのCentOSへのsshでアクセスしようとしています。 PuttyGenにてssh-2 RSAで公開鍵、秘密鍵を作成しました。サーバーには公開鍵の設定をしてもらいました。 WinXP上からTeraTermを起動し、秘密鍵の設定をして起動すると、 「SSH2 秘密鍵の読み込みに失敗しました。error:0906D06C:PEM routines:PEM_read_bio:no start line」と表示されて接続できません。 どうすればアクセスできるか教えてください。

  • TeratermでSSH SCP転送で困ったことが

    TeratermでサーバAにsshログオンし、 そこを踏み台にして、サーバBにssh接続してますが、 このときに サーバBにあるファイルを、Teratermが稼働しているローカルドライブに保存する方法がわかりません。 Teratermメニューにある SSH SCP転送 では、 踏み台になったサーバAのファイルした取り込んでくれません。 個々にログオンしてscp転送するしかないでしょうか? お付き合いいただくと幸いです。 よろしくお願いします

  • TeraTarmでSSH接続設定について

    さくらインターネットさんのVPS初期設定で躓いております。 誠に恐縮ではございますがアドバイスを頂けないでしょうか。 よろしくお願い致します。 ◎やろうとしている事 ローカル環境で作成した公開鍵をサーバに設定し TeraTarmで接続出来るようにしたい。 公開鍵の登録はTeraTarmで接続してviでauthorized_keysに 貼り付ける、という方法です。 ◎参考にしているサイト http://www.jitaku-server.net/ssh_teratermpro_security.html ◎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のパスを設定するような行がありましたが この辺だったりするのでしょうか・・・予想で設定してみましたが結果は変わらずでした。 どなたかアドバイスを頂けないでしょうか。 よろしくお願い致します。

専門家に質問してみよう