我有两台具有相同文件夹结构的机器。一个是我的个人计算机,另一个是远程计算机。有时我希望程序在远程计算机上运行。此刻我总是需要
即使我为rsync编写了一个脚本(如下面所示),我仍然每次都需要输入密码或在bash脚本中进行硬编码(这很愚蠢)。
#!/bin/bash/
pathToSync="/path/to/my/Folder/"
rsync -r -l -p --progress "$pathToSync"/ myUsername@nameOfRemoteComputer:"$pathToSync"
是否有人想过如何更有效地解决这个问题?这样最后我只需要写
sync myFolder nameOfRemoteComputer
这个问题已经回答。
作为下面给出的正确答案的补充。这是无需输入密码即可进行ssh
和rsync
工作的bash命令。在客户端计算机上,键入:
mkdir〜/ .ssh#也许此文件夹已经存在chmod 700〜/ .ssh cd〜/ .ssh ssh-keygen -t rsa#这将创建一个公共密钥cpauthorized_keysauthorized_keys_Backup#这将备份旧的/现有的密钥cat id_rsa.pub >> 〜/ .ssh / authorized_keys ssh-copy-id nameOfRemoteComputer
完毕!(->现在检查ssh是否无需密码即可工作)(我在客户端和远程计算机上具有相同的用户名,否则将是ssh-copy-id myRemoteUsername@nameOfRemoteComputer
)
由于您具有ssh访问权限,因此只需使用commandscp
即可完成工作。
在终端中输入:
scp -r /path/to/my/folder myUsername@nameOfRemoteComputer:/path/to/my/folder
如果在两台计算机上也使用相同的用户名,则甚至可以省略myUsername@
,只需输入:
scp -r /path/to/my/folder nameOfRemoteComputer:/path/to/my/folder
远程copumter的名称可以是IP,域名或在处分配的名称/etc/hosts
。
您可以在服务器和本地计算机之间设置SSH密钥对。
我建议您使用“密码和密钥”应用程序。它应该预装在Ubuntu上。
按下绿色按钮,+然后创建一个新的Secure Shell Key。按照对话框创建一个新的密钥对。
在这里,您可以找到用于生成密钥对的终端命令,id_rsa
并且id_rsa.pub
,您需要获取id_rsa.pub
服务器副本以使密钥对起作用。
在服务器的新行中将的内容添加id_rsa.pub
到文件~/.ssh/authorized_keys
中。您可以使用命令:cat id_rsa.pub >>~/.ssh/authorized_keys
通过ssh登录后。
如果您将密码短语设置为私钥,则必须输入密码短语以对其进行解锁。不分配密码以方便使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句