Fórum Root.cz
Hlavní témata => Server => Téma založeno: martinus26 29. 12. 2013, 20:51:15
-
Chcel by som pomocou sshfs pripojiť celý / (root) koreňový adresár. Problém je že na server sa pripájam cez ssh na bežný užívateľský účet a potom zadám príkaz su a root heslo a som pripojeny ako root. Priame prihlasovanie sa cez ssh ako root som kvoli bezpečnosti zakázal. Ked som skúsil sshfs, tak som mal len užívateľské privilégia. Bolo by možné to nejako bezpečne obísť a mať možnosť zapisovať do root adresarov bez nutnosti sa pripájať cez ssh ako root ?
-
Můžeš si patchnout sshd, aby se root jmenoval nějak jinak…
-
Můžeš si patchnout sshd, aby se root jmenoval nějak jinak…
no pokud se kontroluje login, tak to už je jednodušší vytvořit nového uživatele s uid=0, a na něj se přihlašovat
-
Ja bych to videl na:
man sshfs:
-o SSHOPT=VAL
ssh options (see man ssh_config)
v kombinaci s
LocalCommand
Specifies a command to execute on the local machine after suc‐
cessfully connecting to the server. ...
-
Co místo zákazu přihlášení roota povolit přihlašování pomocí certifikátu?
-
Ja bych to videl na:
...
LocalCommand
Specifies a command to execute on the local machine after suc‐
cessfully connecting to the server. ...
To je LOCAL command.
~> tsocks sshfs -o "LocalCommand=sudo -i" brmlab@brmvid:/ sshfs/
~> less sshfs/etc/shadow
sshfs/etc/shadow: Permission denied
Co místo zákazu přihlášení roota povolit přihlašování pomocí certifikátu?
To nepomůže proti tomu útoku, proti kterému se nejspíš snaží bránit (0day podobný jako kdysi v Debianu).
-
Prihlasujem sa ako user pomocou certifikatov a potom pomocou hesla ako root. MOžnosť zapisovať do root suborov som chcel kvoli zalohovaniu a obnoveniu zalohy pomocou rdiff-backup.
-
Prihlasujem sa ako user pomocou certifikatov a potom pomocou hesla ako root. MOžnosť zapisovať do root suborov som chcel kvoli zalohovaniu a obnoveniu zalohy pomocou rdiff-backup.
Můžeš spustit druhý SSH server, na který se půjde připojit jenom odněkud a přihlašování tam bude povolené. Možná by taky pomohlo přidat toho uživatele do skupin jako root, shadow, disk atd.
-
MOžnosť zapisovať do root suborov som chcel kvoli zalohovaniu a obnoveniu zalohy pomocou rdiff-backup.
Pokud byste nahodou mohl vystacit s backupem pomoci rsync, tak tam si na tom vzdalenem stroji bez root loginu muzete rozjet rsyncd poslouchajici na localhostu a pak si na to z klienta pres ssh protunelovat rsync. Pozor, prenos oproti rsyncd probiha nezabezpecene, takze tunelovat se musi a nechat rsyncd poslouchat na nejakem vnejsim portu a pripojit se rovnou na to je opravdu blby napad.
Jinak resit backup pres sshfs asi neni nejlepsi, "rdiff-backup can also operate in a bandwidth efficient manner over a pipe, like rsync(1). Thus you can use ssh and rdiff-backup to securely back a hard drive up to a remote location, and only the differences will be transmitted.", coz vam pri pouziti sshfs nebude fungovat a budete tahat pres linku hafo zbytecnych dat. Spise zkuste nastudovat, jak to funguje s parametrem --server, kde by se asi dalo dosahnout neceho podobneho, jako u rsync pri pouziti rsyncd.
-
vyskúšal som
rdiff-backup --remote-schema 'ssh -C -p51591 %s' martin@xxxxxx.com::/home/martin/zaloha /home/martin/pokus/
ale skončilo to množstvom chýb. Skusil som si stiahnuť novší rdiff-backup(1.2.8-6) z backports repo, ale aj tak boli iba same chyby.
rdiff-backup --remote-schema 'ssh -C -p51591 %s' martin@xxxxxx.com::/home/martin/zaloha /home/martin/pokus/
/usr/lib/pymodules/python2.6/rdiff_backup/SetConnections.py:148: DeprecationWarning: os.popen2 is deprecated. Use the subprocess module.
stdin, stdout = os.popen2(remote_cmd)
Pseudo-terminal will not be allocated because stdin is not a terminal.
Exception '' raised of class '<type 'exceptions.MemoryError'>':
File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 304, in error_check_Main
try: Main(arglist)
File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 321, in Main
rps = map(SetConnections.cmdpair2rp, cmdpairs)
File "/usr/lib/pymodules/python2.6/rdiff_backup/SetConnections.py", line 76, in cmdpair2rp
if cmd: conn = init_connection(cmd)
File "/usr/lib/pymodules/python2.6/rdiff_backup/SetConnections.py", line 152, in init_connection
check_connection_version(conn, remote_cmd)
File "/usr/lib/pymodules/python2.6/rdiff_backup/SetConnections.py", line 160, in check_connection_version
try: remote_version = conn.Globals.get('version')
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 450, in __call__
return apply(self.connection.reval, (self.name,) + args)
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 368, in reval
result = self.get_response(req_num)
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 315, in get_response
try: req_num, object = self._get()
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 240, in _get
data = self._read(length)
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 210, in _read
try: return self.inpipe.read(length)
Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 30, in <module>
rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 304, in error_check_Main
try: Main(arglist)
File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 321, in Main
rps = map(SetConnections.cmdpair2rp, cmdpairs)
File "/usr/lib/pymodules/python2.6/rdiff_backup/SetConnections.py", line 76, in cmdpair2rp
if cmd: conn = init_connection(cmd)
File "/usr/lib/pymodules/python2.6/rdiff_backup/SetConnections.py", line 152, in init_connection
check_connection_version(conn, remote_cmd)
File "/usr/lib/pymodules/python2.6/rdiff_backup/SetConnections.py", line 160, in check_connection_version
try: remote_version = conn.Globals.get('version')
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 450, in __call__
return apply(self.connection.reval, (self.name,) + args)
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 368, in reval
result = self.get_response(req_num)
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 315, in get_response
try: req_num, object = self._get()
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 240, in _get
data = self._read(length)
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 210, in _read
try: return self.inpipe.read(length)
MemoryError
-bash: line 1: syntax error near unexpected token `crdiff_backup.connection'
-bash: line 1: `oh(crdiff_backup.connection'