コマンド自体が機能します。
ssh user@remote 'cat >>/home/user/somedir/.ssh/authorized_keys' <~/.ssh/id_rsa.pub
だから私はこれを私のスクリプトに統合しようとしました。
#! /bin/bash
ssh user@remote 'cat >>/home/user/somedir/.ssh/authorized_keys' <~/.ssh/id_rsa.pub << EOF
touch hello
mkdir /test/morning
cp hello /test/morning
EOF
目的は、自分のファイルをローカルシステムからリモートホストにid_rsa.pub
コピーし、別のコマンドを実行することです。ただし、上記のスクリプトを使用するコマンドは、次のようにauthorized_keys
ファイルにエコーされます。authorized_keys
$ cat /home/user/somedir/.ssh/authorized_keys
touch hello
mkdir /test/morning
cp hello /test/morning
EOF
誰でも助けることができますか?
ベストアンサー1
探しているようですが、
cat ~/.ssh/id_rsa.pub | ssh user@remote "mkdir /home/user/somedir/.ssh; \
cat >> /home/user/somedir/.ssh/authorized_keys; touch hello; mkdir /test/morning; \
cp hello /test/morning"
私は使用することを好みますssh-copy-id
。リモートアドレスを指定すると、authorized_keys
リモートシステムのファイルに公開鍵が追加されます。
$ ssh-copy-id user@remote