Thực thi lệnh từ xa qua SSH

oldest_remote_control.jpg
Ảnh chỉ mang tính minh hoạ🙂

Vâng, với công cụ mà ta thường dùng để quản trị từ xa, ta có thể thực thi lệnh mà không cần phải đăng nhập vào hệ thống. Secure SHell là một công cụ rất mạnh với rất nhiều ứng dụng hay. Sau đây là cách dùng nó để thực thi lệnh từ xa.

Để thử nghiệm một cách đơn giản, ta gõ lệnh sau:

ssh abel@server1 ‘ls -l’

Với abel là một user có quyền đăng nhập ssh vào server1. Kết quả lệnh trên sẽ liệt kê nội dung thư mục home của abel trên server1.

Bạn muốn khởi động lại apache webserver mà lười phải dùng SSH để đăng nhập, gõ lệnh rồi phải đăng xuất. Đơn giản hơn, ta khởi động lại từ xa với lệnh như sau:

ssh abel@server1 ‘sudo /etc/init.d/apache2 restart’

Dĩ nhiên user abel phải được cho phép thực hiện lệnh đó trên server1. Ta có thể thực hiện việc cấp phép với sudo.

Nếu thực thi nhiều lệnh, các lệnh được ngăn cách bởi dấu chấm phẩy (;)

ssh abel@server1 ‘ls -l; ps -aux; whoami’

Các bạn chú ý khi thực thi các lệnh trên, sau khi có kết quả trả về thì ssh tự động đăng xuất và trả lại shell như cũ cho người sử dụng. Nhưng có những lệnh ta cần phải theo dõi kết quả thay đổi theo thời gian thực thì tính năng này lại trở thành bất tiện. Chẳng hạn với lệnh top để theo dõi thông tin sử dụng tài nguyên của các tác vụ trên hệ thống.

ssh -t abel@server1 ‘top’

Tham số ‘-t’ báo cho ssh biết là bạn vẫn còn muốn giữ tương tác với remote shell, và vẫn giữ cho bạn đăng nhập cho đến khi bạn kết thúc lệnh đó. Tham số này đặc biệt hữu dụng với các lệnh tương tác, như soạn thảo văn bản với vim.

Nếu bạn thường xuyên làm việc với các script để điều khiển từ xa, thì đây là sự lựa chọn rất tốt.

Đông Thao

About dongthao

The best things in life, they are free ... (Cry on my shoulder lyric)
This entry was posted in Linux Tutorial. Bookmark the permalink.

Có 3 phản hồi tại Thực thi lệnh từ xa qua SSH

  1. bunbo nói:

    Cảm ơn bạn vì cái này mình đang cần🙂.
    PS: cái hình mắc cười quá haha

  2. tấn nói:

    Thao cho biet dum dac tinh cua mail ma nguon mo(senmail,Qmail..)

  3. kyanh nói:

    có cách nào thi hành một local script ở remote không bạn?

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s