Answers:
who
හෝ w
; who -a
අමතර තොරතුරු සඳහා.
මෙම විධානයන් ටර්මිනල් උපාංගයක සියලුම පිවිසුම් සැසි පෙන්වයි. තීරුවේ pts
පෙන්වා ඇති පරිදි SSH සැසියක් ව්යාජ පර්යන්ත වහලෙකු ( ) මත වනු ඇත TTY
, නමුත් සියලුම pts සම්බන්ධතා SSH සැසි නොවේ. උදාහරණයක් වශයෙන්, එවැනි ව්යාජ පර්යන්තය උපාංගය නිර්මාණය වැඩසටහන් xterm
හෝ screen
ලෙස පෙන්වනු ඇත pts
. තීරුවේ ඇති විවිධ අගයන් පිළිබඳ වඩා හොඳ විස්තරයක් සඳහා pts සහ tty අතර වෙනස බලන්න TTY
. තවද, SFTP සැසි ෂෙල් පිවිසුම් සැසි නොවන බැවින් මෙම ප්රවේශය SFTP සැසියකට ප්රවේශ වී ඇති කිසිවෙකුට නොපෙන්වයි.
සියලුම SSH සැසි පැහැදිලිව පෙන්වීමට මම ක්රමයක් නොදනිමි. ඔබ පිවිසුම් තොරතුරු කියවීමෙන් ඔබට මෙම තොරතුරු සහ ඒවයින් නිකුත් utmp
/ wtmp
වැනි මෙවලමක් හරහා last
, w
හෝ who
මම විස්තර තියෙනවා වගේ, හෝ වරාය 22 දා විවෘත tcp සම්බන්ධතා සොයා ගැනීමට ඔවුන්ගේ පිළිතුර විස්තර @sebelk වැනි ජාල මෙවලම් භාවිතයෙන් (හෝ ඕනෑම තැනක, ඔබේ SSH ඩීමන් (ය) යනු / සවන් දීමයි).
ඔබට ගත හැකි තුන්වන ප්රවේශය නම්, SSH ඩීමන් වෙතින් ලොග් ප්රතිදානය විග්රහ කිරීමයි. ඔබගේ මෙහෙයුම් පද්ධතිය බෙදා හැරීම, SSH බෙදා හැරීම, වින්යාසය සහ යනාදිය මත පදනම්ව, ඔබේ ලොග් ප්රතිදානය විවිධ ස්ථාන ගණනාවක තිබිය හැකිය. RHEL 6 පෙට්ටියක, මට ලොග් හමු විය /var/log/sshd.log
. RHEL 7 පෙට්ටියක සහ ආරුක්කු ලිනක්ස් පෙට්ටියක, ල .ු journalctl -u sshd
-සටහන් බැලීමට මට භාවිතා කිරීමට අවශ්ය විය . සමහර පද්ධති මඟින් SSH ලොග් syslog වෙත ප්රතිදානය කළ හැකිය. ඔබගේ ල logs ු-සටහන් මෙම ස්ථානවල හෝ වෙනත් තැනක තිබිය හැකිය. ඔබට පෙනෙන දේවල නියැදියක් මෙන්න:
[myhost ~]% grep hendrenj /var/log/sshd.log | grep session
May 1 15:57:11 myhost sshd[34427]: pam_unix(sshd:session): session opened for user hendrenj by (uid=0)
May 1 16:16:13 myhost sshd[34427]: pam_unix(sshd:session): session closed for user hendrenj
May 5 14:27:09 myhost sshd[43553]: pam_unix(sshd:session): session opened for user hendrenj by (uid=0)
May 5 18:23:41 myhost sshd[43553]: pam_unix(sshd:session): session closed for user hendrenj
සැසි විවෘතව හා වැසෙන විට, සැසිය අයිති කාටද, පරිශීලකයා සම්බන්ධ වන්නේ කොතැනින්ද සහ තවත් බොහෝ දේ ලොග් පෙන්වයි. කෙසේ වෙතත්, ඔබට මෙය සරල, මිනිස් කියවිය හැකි සිදුවීම් ලොගයකින් දැනට ක්රියාකාරී සැසි ලැයිස්තුවකට ලබා ගැනීමට අවශ්ය නම් ඔබට බොහෝ විග්රහයන් කිරීමට සිදුවනු ඇත, එය බොහෝ විට නිවැරදි ලැයිස්තුවක් නොවනු ඇත කුමන සැසි තවමත් සක්රියද යන්න තීරණය කිරීමට ප්රමාණවත් තොරතුරු ල logs ු-සටහන් වල අඩංගු නොවන බැවින් ඔබ විග්රහ කිරීම අවසන් කර ඇත - ඔබ අත්යවශ්යයෙන්ම අනුමාන කරයි. මෙම ල logs ු-සටහන් භාවිතා කිරීමෙන් ඔබට ලැබෙන එකම වාසිය නම්, අනෙක් ක්රම මෙන් තත්පරයට ප්රභවයක් හරහා නොව තොරතුරු කෙලින්ම SSHD වෙතින් පැමිණීමයි.
භාවිතා කිරීම නිර්දේශ කරමි w
. බොහෝ විට, මෙය ඔබට අවශ්ය තොරතුරු ලබා ගනී.
පහත දැක්වෙන විධානය සමඟ සෑම සැසියක්ම ඔබට දැක ගත හැකිය:
[root@router ~]# netstat -tnpa | grep 'ESTABLISHED.*sshd'
tcp 0 0 192.168.1.136:22 192.168.1.147:45852 ESTABLISHED 1341/sshd
tcp 0 0 192.168.1.136:22 192.168.1.147:45858 ESTABLISHED 1360/sshd
අහෝ සමහර විට මෙය ප්රයෝජනවත් විය හැකිය:
[root@router ~]# ps auxwww | grep sshd:
root 1341 0.0 0.4 97940 3952 ? Ss 20:31 0:00 sshd: root@pts/0
root 1360 0.0 0.5 97940 4056 ? Ss 20:32 0:00 sshd: root@pts/1
root 1397 0.0 0.1 105300 888 pts/0 S+ 20:37 0:00 grep sshd:
pgrep -ai sshd
pgrep: invalid option -- 'i'
උබුන්ටු 14.04 හි.
-i
ලබා ගත හැක්කේ මැක් / බීඑස්ඩී රස මත පමණි. උබුන්ටු මත ඔබට භාවිතා කළ හැකිය pgrep -af ssd
. වැඩි විස්තර සඳහා serverfault.com/a/883270/116777 බලන්න
ඔබට ද භාවිතා කළ හැකිය
ps ax | grep sshd
සරල යොමු කිරීම සඳහා එකතු කරන ලදි.
ඔබ ව්යාජ කවචයක සිටී නම් (උදාහරණ: / dev / pts / 0) සරලම ක්රමයක් වනුයේ:
[user1@host ~]$ echo $SSH_CONNECTION
එය නැවත පැමිණිය යුතුය: ඔබේ අයිපී සහ වරාය සහ අයිපී ඔබ සම්බන්ධ කර ඇති හා වරාය
192.168.0.13 50473 192.168.0.22 22
භාවිතා කිරීමෙන් tty
හෝ who
( w
) ඔබට යම් තොරතුරු ලබා ගත හැකිය : (සංස්කරණය කරන්න: එය දැන් වෙනත් පෝස්ට් එකක ඉහත ලැයිස්තු ගත කර ඇති බව මට පෙනේ)
[user1@host ~]$ who
user1 tty1 2018-01-03 18:43
user2 pts/0 2018-01-03 18:44 (192.168.0.13)
SECONDS
ගෝලීය යොමු කිරීම සඳහා මම යෝජනා කළ හැකිය. ඔබට මෙය හරහා භාවිතා කළ හැකිය echo $SECONDS
, එමඟින් එය වටහාගත් සම්බන්ධතාවයේ සිට කාලය පෙන්වයි
@ සෙබෙල්ක්ගේ පිළිතුර පුළුල් කිරීම:
භාවිතා කරන විසඳුම netstat
හොඳ එකක් නමුත් මූල වරප්රසාද අවශ්ය වේ. ඊට අමතරව, net-tools
පැකේජය (සපයන netstat
) සමහර නව ලිනක්ස් ඩිස්ට්රෝ හි ( https://dougvitale.wordpress.com/2011/12/21/deprecated-linux-networking-commands-and-their-replacements/ ) ඉවත් කර ඇත.
විකල්ප විසඳුමක් සඳහා ආදේශ කිරීම භාවිතා කිරීමට නම් වේ netstat
, ss
. උදාහරණයක් ලෙස (ඔබට තවදුරටත් මූල අවශ්ය නොවන බව සලකන්න):
user@router:~# ss | grep ssh
tcp ESTAB 0 0 192.168.1.136:ssh 192.168.1.147:37620
tcp ESTAB 0 0 192.168.1.136:ssh 192.168.1.147:37628
ඔයාට පාවිච්චි කරන්න පුළුවන්
last | head
මෑතකදී පද්ධතියට පිවිසියේ කවුරුන්දැයි බැලීමට මම මෙය මගේ .login පිටපතෙහි වසර ගණනාවක් තිස්සේ භාවිතා කළෙමි. ඔබගේ පිවිසුම භාවිතා කරමින් යමෙකු පද්ධතියේ සිටී දැයි බැලීමට එය දුර්වල-ආරක්ෂක උපාංගයකි.
last
ලැයිස්තුගත නොවනු ඇත.
last
ආධාරක අනුවාදය -p
කුමක්ද? එය කරන්නේ කුමක්ද?
"last from util-linux 2.31.1"
එය නිසැකවම ඇත.
මම ඉහත සියළු විධානයන් පාහේ ක්රියාත්මක කළ අතර දැනට පිවිසී ඇති පරිශීලකයින් ssh හරහා සොයා ගැනීමට හොඳම ක්රමය යැයි මම සිතමි
last | grep "still logged in"
හා
who -a
who -a