1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| www-data@soulmate:~/soulmate.htb/public$ cat /usr/local/lib/erlang_login/start.escript #!/usr/bin/env escript %%! -sname ssh_runner
main(_) -> application:start(asn1), application:start(crypto), application:start(public_key), application:start(ssh),
io:format("Starting SSH daemon with logging...~n"),
case ssh:daemon(2222, [ {ip, {127,0,0,1}}, {system_dir, "/etc/ssh"},
{user_dir_fun, fun(User) -> Dir = filename:join("/home", User), io:format("Resolving user_dir for ~p: ~s/.ssh~n", [User, Dir]), filename:join(Dir, ".ssh") end},
{connectfun, fun(User, PeerAddr, Method) -> io:format("Auth success for user: ~p from ~p via ~p~n", [User, PeerAddr, Method]), true end},
{failfun, fun(User, PeerAddr, Reason) -> io:format("Auth failed for user: ~p from ~p, reason: ~p~n", [User, PeerAddr, Reason]), true end},
{auth_methods, "publickey,password"},
{user_passwords, [{"ben", "HouseH0ldings998"}]}, {idle_time, infinity}, {max_channels, 10}, {max_sessions, 10}, {parallel_login, true} ]) of {ok, _Pid} -> io:format("SSH daemon running on port 2222. Press Ctrl+C to exit.~n"); {error, Reason} -> io:format("Failed to start SSH daemon: ~p~n", [Reason]) end,
receive stop -> ok end.
|