私が尋ねている質問が正しいかどうかはわかりませんが、基本的にはこのプロセスを自動化したかったのです
scp ~/.ssh/id_rsa.pub [email protected]:~/
ssh [email protected]
mkdir .ssh
cat id_rsa.pub >> .ssh/authorized_keys
rm id_rsa.pub
chmod go-w ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
そのため、シェルスクリプトを作成して、次のように.bash_profileに配置できると思いました:function
setup_ssh () {
scp ~/.ssh/id_rsa.pub $1:~/
ssh $1
#the following is happens when connected to the server using ssh
mkdir .ssh
cat id_rsa.pub >> .ssh/authorized_keys
rm id_rsa.pub
chmod go-w ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
}
ただし、サーバーに接続するとコマンドが続行されないため、もちろんこれは機能しません。 ssh経由でサーバーに接続した後、コマンドを続行する方法はありますか?
承認された回答:
IDをリモートサーバーに追加し、必要に応じて適切な権限を持つ〜/.sshツリーも作成します。
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]