如题
之前是 root 登录不过用了公钥认证
刚才添加新用户 把原来的公钥挪到新用户里面设置好之后 又添加了用户的 root 权限
试了一下 登录 后可以使用 sudo -i 进入 root 模式
rsync 不能备份了
之前是这样的
rsync -aptgovrlHAXzP -e "ssh -p 端口" --delete-excluded --exclude={"/media/*","/sys/*","/proc/*","/mnt/*","/tmp/*","/home/other/*","/var/run/*","/var/tmp/*"}
rsync --rsh='sshpass -p 服务端密码 ssh -l 服务端用户名' -e "ssh -p 服务端口" -aptgovrlHAXzP --delete-excluded --exclude={"/media/*","/sys/*","/proc/*","/mnt/*","/tmp/*","/home/other/*","/var/run/*","/var/tmp/*"}
1
msg7086 2018-08-29 01:46:24 +08:00
谁让你挪公钥的……
|
4
msg7086 2018-08-29 15:02:23 +08:00
如果原来的公钥还在,那么你直接 ssh 应该能登录到 root 账号吧?
|
5
liangzi OP @msg7086 是的 ssh 登录后可以用 sudo -i 登录 root 账户 然而 本地执行上面的 rsync 命令显示没有权限 根本没办法同步
|
6
msg7086 2018-08-29 20:21:01 +08:00
不是,我是说直接登录到 root 账号。
还是说你希望使用 sudo 来做 rsync ? |
7
msg7086 2018-08-29 20:24:21 +08:00
--rsync-path="sudo rsync"
如果你想要的是这个的话。sudo 需要设置成无密码提权。 |
8
liangzi OP @msg7086 我在服务器 sshd 的配置文件里面禁止了 root 用户登录 目前只开方新添加的用户登录 希望是直接使用现在的新用户登录方式 rsync 同步备份 vps 内容到本地 然而 目测 这个 sshpass 好像识别不了密码还是其他原因?“ rsync --rsh='sshpass -p 服务端密码 ssh。。。。”这里都是明文密码 你说的 需要设置成无密码提取权具体方法有吗 谢谢
|
9
msg7086 2018-08-29 21:00:43 +08:00
你 SSH 是密钥登录,当然不需要 sshpass 来输入密码了。
至于 sudo 提权,需要修改 sudoers,加上 NOPASSWD 参数。你可以自己搜一下。 还有不建议在还没有配置完成的时候就禁用 root 登录。否则配置文件改错就意味着你再也无法远程登录了。 另外,提权 = 提升权限。 |
10
liangzi OP @msg7086 刚才网上搜了一下是不是把服务器里面配置成 “新用户 ALL=(ALL) NOPASSWD: /usr/bin/sudo ”就可以了?
|
11
msg7086 2018-08-29 21:09:17 +08:00
不是。NOPASSWD 后面跟的是你要执行的命令。
|
13
msg7086 2018-08-29 21:25:40 +08:00 1
如果你禁止了 root 登录的话,这里可以写 NOPASSWD:ALL。
用户 ALL=(ALL) NOPASSWD:ALL 另一种写法是 用户 ALL=(ALL) ALL 用户 ALL=(ALL) NOPASSWD: /usr/bin/rsync 还是那句话,先保证你能远程登录 root 账号,然后再修改这个配置文件! 否则修改错误会导致你失去服务器控制权。 |