Lấy tên (địa chỉ) của máy tính mà từ đó đăng nhập SSH được tạo


3

Sau khi đăng nhập vào máy linux thông qua SSH, tôi muốn có thể truy xuất tên của máy tính mà từ đó kết nối được tạo. Lý tưởng nhất là tôi đang tìm kiếm một số lệnh như hostname hoặc là uname nhưng điều đó sẽ lấy tên của khách hàng thay vì máy chủ.

Thông tin này phải có thể truy cập được ở đâu đó, vì khi tôi đăng nhập, tôi nhận được một tin nhắn có chứa tên của phòng khám từ lần đăng nhập cuối cùng:

Last login: Thu Mar 11 18:42:01 2010 from my.address.com


Lý do muốn làm điều này là để có thể thực hiện các hành động khác nhau trong tôi .login tập tin tùy thuộc vào máy tính mà tôi hiện đang kết nối.

Câu trả lời:


3

Câu trả lời ngắn:

who -m

Đối với điểm thưởng (vâng, điều này là bẩn thỉu, ai đó vui lòng để lại nhận xét về cách làm điều đó tốt hơn):

who -m | awk '{print $5;}' | sed s/\(// | sed s/\)//


Đó là một câu trả lời nhanh chóng, cảm ơn!
amicitas

@amicitas: Kiểm tra lại, tôi đã làm cho nó tốt hơn: D Upvote nếu nó giúp bạn!
Alex

Cảm ơn, tôi đã dành 30 phút tiếp theo để cố gắng nhớ cách sử dụng awk và sed một lần nữa.
amicitas

1
Điều này thậm chí còn sạch hơn :-): who -m | awk -F '[()]' '{in $ 2}'
janmoesen

1
Cũng lưu ý rằng có một biến đáng tin cậy hơn: SSH_CLIENT có địa chỉ IP của máy khách (và máy chủ và cổng máy khách). SSH_CONNECTION thêm địa chỉ IP của máy chủ.
janmoesen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.