sshへのログインをshell内に記述したい

このQ&Aのポイント
  • sshへのログインをshell内に記述する方法とは?
  • サーバ間でのファイル同期におけるsshのパスワード入力を回避する方法とは?
  • Linuxを使用している場合のsshを使用したコマンドの記述例
回答を見る
  • ベストアンサー

sshへのログインをshell内に記述したい

shellファイル内でrsyncとsshを使用したファイル同期を実現しようとしています。 同一サーバ内では問題なくできることを確認したのですが、 サーバ間でやり取りをしようとすると、sshのパスワード入力が必要になります。 このパスワード入力をshellファイル内にパスワードを記述することで 回避したいと考えているのですが、それは実現できるのでしょうか? その場合、shellファイル内にどのような記述をすればよいのでしょうか? とても困っています。ご存知の方がいましたら教えてください。 OSはLinuxを使用しています。 また、sshを使用しているコマンドはこんな感じです。 rsync -av -e ssh /var/www/html/***/ ホスト名:/var/www/html/***/

質問者が選んだベストアンサー

  • ベストアンサー
  • tk_uc
  • ベストアンサー率68% (33/48)
回答No.1

クライアント側の公開鍵をサーバー側のauthorized_keysに登録すれば良いと思いますよ。

参考URL:
http://www-online.kek.jp/~keibun/fujiih3/ssh/sshkey.html

関連するQ&A

  • SSH Secure Shell の設定のしかたについて

    Linux RedHat 9.0 と Windows XP との間で,ネットワーク越にいろいろとやりたいことがあるので,SSH Secure Shell をインストールしました.Linux の方は新たにインストールしたものです. hosts hosts.allow hosts.deny はそれぞれ分かる範囲で設定し(linuxの方は),同じネットワーク内につながっているウィンドウズマシンからSSH Secure Shellを使ってログインしようとしたのですがうまくいきません... linux の方から,当ウィンドウズマシンにipアドレスでpingをうつと応答はあるのですが,ホスト名を入れると応答がありません.また逆もしかりです.これは hosts hosts.allow hosts.deny の設定が間違っているということなのでしょうか? それともSSH Secure Shellの方の設定が間違っているのでしょうか? ただ,私自身,学外の別のサーバにはちゃんとアクセスできるように設定してあるぐらいなので,当linuxマシンへの接続の設定が間違っているようには思えないのですが... ウィルスソフトとしてインストールしているノートンが悪いのでしょうか?でもそれなら別のサーバにも接続できませんよね. よわっています.どなたかアドバイスをいただけないでしょうか? よろしくお願いします.

  • SSH + rsyncがダメです

    パスワード無しでサーバAの/home,/etcをからサーバBの/tmp/内にrsyncでコピーしたいのですがなかなかうまくできません。今のところrsyncで以下のような記述を実行して動作確認まではできました。 rsync -avz -e ssh /home/ サーバB:/tmp/ 当然ながら実行後パスワードを聞かれてしまいます。 そこでSSHの設定をしなければと思いネットを巡って試したのですが、どうしてもパスワードを聞かれてしまいます。 SSHの設定が分かってないのだと思います。 ずばり!を教えていただけるとうれしいです。 環境Redhat7.3 インストールしたままです。何もいじってません。ご教授お願い致します。

  • sshでログインができません?

    linux7.2 REDHATでopensshを構築しました。windowsクライアントからLAN内でsshで接続しようとしていますがうまくいきません。 普通成功したときはパスワードを聞いてきますが、聞かれない状態です。 LINUX側でユーザーかグループを作成しなければならないのでしょうか? 以下の設定ファイルを調整してみました。 ・sshd_conf ・hosts.allow ・hosts.deny ・pingは通ります。 ・サーバー側ではsshでログインできます。 ・テストでtelnetを設定してみましたがクライアントからログインできませんでした。 サーバー側からはできました。 ・ブラウザー経由でwebサーバはアクセスできます。 ・DOSプロンプトから telnet ホスト名 22 で確認したところ接続できない状態になる。 ポートのところではじかれているように思えます。 どなたかこころやさしい方ご教授いただけないでしょうか? よろしくお願いいたします。

  • ssh + rsync でパスワードを聞かれなくする方法

    SSH + rsync(rsync -e ssh ・・・で ssh 回線で同期)でファイルをコピーする時に、パスワードを聞かれなくする方法はないでしょうか? http://www.okweb.ne.jp/kotaeru.php3?q=323149 などを参考に、公開鍵を作りログイン先のauthorized_keysに登録しました。(公開鍵を作るときにパスフレーズを入力してません。) こうすると、たしかに"パスフレーズ"は聞かれないのですが、"ログインパスワード"は毎回聞かれます。これは仕方がないのでしょうか? ●ファイルのコピー先がファイアーウォールで ssh のポートくらいしか空いていないので、 ssh + rsync を使おうと思っています。 ●同期したいフォルダは複数あるので、スクリプトを作って rsync -avz -e ssh フォルダAを同期 ・・・ rsync -avz -e ssh フォルダBを同期 ・・・ ・・・ という感じで一気に同期できれば便利だな と思っていました。 ところが今のままでは、rsync コマンド一回ごとに ログインパスワードを入力することになってしまいます。

  • SSHのパスワード

    SSHサーバにログインするときに、パースワードを使う方法と鍵を使う方法の2種類がありますよね? パースワードを使う方法では、ユーザ名とパスワードをサーバに送信しますが、それはLinuxに存在しているユーザ名で、そのユーザのパスワードですか? それともLinuxでそのユーザのSSH用のパスワードを作り、そのパスワードをクライアントが入力するんですか? 鍵を使う方法の場合、初期設定で鍵を作ります。 鍵作る時にパスフレーズを入力しますが、それはLinuxのそのユーザのパスワードですか?

  • パスワード入力なしでsshログイン

    パスワード入力なしでsshログインしたいけど上手く行きません。 CentOS7のPCが2台(CentOS7-C, CentOS7-S)あります。 CentOS7-CからCentOS7-Sにパスワード入力なしでsshログイン(鍵認証でログイン)したいと思い、下記のサイトを参考にしながら悪戦苦闘しています。 パスワード入力なしでsshログイン(鍵認証でログイン) https://setting-tool.net/ssh-key-authorize <手順> クライアント側  ssh-keygen -t rsa でキー生成 サーバー側  クライアントで生成したキーを保存 <コマンド> ■前提 クライアント側 CentOS7-C 172.16.0.201 サーバー側 CentOS7-S 172.16.0.202 ■クライアント側設定 キーの発行 [root@CentOS7-C ~]# ssh-keygen -t rsa パーミッション設定 [root@CentOS7-C ~]# chmod 700 /root/.ssh [root@CentOS7-C ~]# chmod 600 /root/.ssh/* キーファイルをサーバー側に送る [root@CentOS7-C ~]# rsync -av -e ssh /root/.ssh root@172.16.0.202:/root/.ssh/from172.16.0.201 この時は手動でパスワード入力 ■サーバー側設定 クライアントからのキーファイルを別名で保存 [root@CentOS7-S ~]# cp /root/.ssh/from172.16.0.201/.ssh/id_rsa.pub /root/.ssh/authorized_keys キーファイルのパーミッション設定 [root@CentOS7-S ~]# chmod 600 /root/.ssh/authorized_keys ■クライアント側から接続 [root@CentOS7-C ~]# ssh root@172.16.0.202 Enter passphrase for key '/root/.ssh/id_rsa': 成功していればパスワードを聞かれずにログイン。 しかし、失敗しているので、パスワードを要求されている。 <考察> クライアントで生成したキーをサーバーにリモートコピーするだけなのに上手く行かない。 シンプルな話、 クライアントの /root/.ssh/id_rsa.pub と サーバーの /root/.ssh/authorized_keys が 同じであれば成立するというだけの話に思えるが、 クライアントでのcat /root/.ssh/id_rsa.pub と サーバーでのcat /root/.ssh/authorized_keys を見比べても全く同じなのに上手く行きません。 何が悪いのでしょうか?

  • sshについて

    linux初心者です。いまsshについて勉強しています。ssh-keygenで作った鍵を相手に送りました。ちなみにidentity.pubをauthorized_keysにコピーしてから送りました。それからホストの中の~/.sshにmvでauthorized_keysに入れました。しかしsshを使うとパスワードを聞かれます。パスフレーズではいるにはどうしたらよいですか。

  • パスワードなしで ssh のログインを行いたい

    http://www.okweb.ne.jp/kotaeru.php3?q=588282 の続きです いろいろ回答をいただいて問題点が少しはっきりしたので、質問の焦点を絞って再投稿します。 2台の Windows XP の PC に、Cygwinをいれ、OpenSSH サーバをたてています(サービスとして動かす)。  「パスワードなしで ssh のログインを行いたい」 のですが、うまくいきません。設定は、次のように行いました。 (1) クライアントPCで公開鍵をつくる   $ ssh-keygen -t rsa で(パスフレーズを空白にして)公開鍵を作成(identity.pub) (2) ホストPCに鍵をコピーして、   % cat identity.pub >> .ssh/authorized_keys のように、authorized_keys に鍵の内容を追加する。 Linux がホストの場合は、以上の手続きで「パスワードフリー」になったのですが、 Cygwin ではだめです。   $ssh -1 192.168.0.5 1   Permission denied.   $ ssh 192.168.0.5   Permission denied (publickey,keyboard-interactive). のようになって、失敗してしまいます。

  • SSHとSFTPで別々のアクセスポリシー

    お世話になります。 Fedora10でSFTPサーバを構築しようとしているのですが、そのサーバ ホストに「SFTPでファイルのアップ/ダウンロードはできるけれども、 SSHログインはできない」という設定をする事は可能でしょうか? (SFTPはSSH付属のsftp-serverを想定しています) SFTPとSSHで別のポート番号を使用することで実現できないかと 考えたのですが、調べた限りではsftp-serverにsshdと別のポートを 使用させる事ができないように見えています。 SSHもSFTPも同じポート22を使用しているとなると、iptablesで 区別する事もできないように思っています。 ポートを分ける方法、それ以外でも実現できる方法をご存知の方、 ご教示ください。よろしくお願いします。

  • sshでのログインができない

    以前より使用していたサーバでSSHでのログインができなくなりました。 本日PostgreSQLのインストールを行うまではまったく問題が無い状況でした。 同作業後よりSSHでの認証が失敗するようになり現状ログインできない状態です。 作業の際以前に使用していたRPMでインストールされていたPostgreSQLがあったため、停止をし新たにソースからインストールを行いました。 この際既存のPostgresユーザーがいた為、/etc/passwdのpostgresユーザーを#でコメントアウトし新たにpostgresユーザーを作成したのが原因ではないかと考えています。 sshはopenssh-4.5p1を使用しています。 現在までに試行した内容は以下になります。 ・直接サーバにログインしpasswdファイルからコメントアウトの部分を削除  念のためSSHを再起動 ・/usr/local/sshにインストールしたファイル郡を全て削除  再度ソースからインストール どなたかご助言いただけないでしょうか。 よろしくお願いします。

専門家に質問してみよう