Сегодня решал подобную задачку...
Этот конфиг трогать в общем-то и не нужно:
#AuthorizedKeysFile %h/.ssh/authorized_keys
Достаточно скопировать "$HOME/.ssh/authorized_keys" в несмонтированный "$HOME".
man pam_ecryptfs
To unwrap a mount passphrase and automatically mount a private directory on login, add the following lines to
/etc/pam.d/common-auth:
auth required pam_ecryptfs.so unwrap
/etc/pam.d/common-session:
session optional pam_ecryptfs.so unwrap
Эту беду сделал... точнее говоря, она и так по дефолту есть:
$ grep ecryptfs /etc/pam.d/common-auth /etc/pam.d/common-session
/etc/pam.d/common-auth:auth optional pam_ecryptfs.so unwrap
/etc/pam.d/common-session:session optional pam_ecryptfs.so unwrap
И даже если в первом случае поменять "optional" на "required", толку мало.
Так что, дальше автоматизировать пока не получается.
Ушёл курить маны...
Вот такую штуковину сваял:
ssh "$RUSER@$RHOST" -p "$RPORT" -i "$KEYFILE" \
"echo \"$PASSPHRASE\" | ecryptfs-insert-wrapped-passphrase-into-keyring ; mount.ecryptfs_private"
Вроде, работает. %)
Вроде, работает.
Надо как-то удерживать открытой сессию, иначе нифига не работает.
Под гномом можно впихнуть костыль:
gvfs-mount "sftp://$RUSER@$RHOST:$RPORT"
ssh "$RUSER@$RHOST" -p "$RPORT" -i "$KEYFILE" \
"echo \"$PASSPHRASE\" | ecryptfs-insert-wrapped-passphrase-into-keyring ; mount.ecryptfs_private"