Câu trả lời:
Đặt các lệnh trong ~/.bashrc
. Bất cứ điều gì trong đó được thực hiện mỗi khi bạn đăng nhập.
Nếu bạn cần các lệnh chỉ chạy khi đăng nhập qua ssh (nhưng không phải khi đăng nhập vật lý), bạn có thể kiểm tra sự hiện diện của SSH_CONNECTION
biến môi trường và chỉ chạy các lệnh nếu bạn thấy nó tồn tại.
Chỉ cần đặt cái này vào ~ / .bashrc hoặc /etc/bash.bashrc nếu bạn muốn cái này cho tất cả người dùng:
if [[ -n $SSH_CONNECTION ]] ; then
echo "I'm logged in remotely"
fi
screen
, tôi có thể sử dụng câu trả lời của bạn và đặt screen
ở đó thay vì tiếng vang. Vấn đề với điều đó là việc kết thúc phiên màn hình sẽ trở về dấu nhắc SSH thay vì đăng xuất. Chỉ cần viết ra nhận xét này đã cho tôi câu trả lời, mặc dù: thêm logout
lệnh sau screen
lệnh.
exec command
sẽ thay thế shell hiện tại bằng bất cứ thứ gì bạn chạy.
Ngoài ra, bạn có thể chỉ định một lệnh sẽ được chạy trong khi gọi ssh
:
$ ssh -t server 'cmd; exec bash -l'
Lệnh cuối cùng trong danh sách sẽ bắt đầu một phiên tương tác trong trình bao ưa thích của bạn. Nếu bạn có nhiều lệnh để chạy, hãy xem xét việc tạo tệp tập lệnh trên máy chủ SSH của bạn.
Trên thực tế ~/.ssh/rc
là một nơi thích hợp để bạn thêm lệnh để chạy khi bạn đăng nhập, thay vì bất kỳ người dùng nào của hệ thống.
~/.ssh/rc
Commands in this file are executed by ssh when the user logs in,
just before the user's shell (or command) is started. See the
sshd(8) manual page for more information.
man bash
).