连接到SSH后继续执行shell命令

Modified on: Sat, 30 Jun 2018 04:51:00 +0800

不确定我问的问题是否正确但基本上我想自动执行此过程

  scp ~/.ssh/id_rsa.pub username@example.com:~/
  ssh username@example.com
  mkdir .ssh
  cat id_rsa.pub >> .ssh/authorized_keys
  rm id_rsa.pub
  chmod go-w ~
  chmod 700 ~/.ssh
  chmod 600 ~/.ssh/authorized_keys

所以我认为我可以创建一个shell脚本并将它放在我的.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连接到服务器后继续执行命令?

作者:Gilles,Marc

最佳答案

将您的身份添加到远程服务器,如果需要,还可以使用适当的权限创建〜/ .ssh树。

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
作者:forcefsck

相关问答

添加新评论