まだ悩んでいる
VMware上のCentOSでsshに自分のアカウントでログインした場合
[takeshi@localhost ~]$ ssh takeshi@localhost takeshi@localhost's password: Last login: Sat Nov 22 21:24:32 from localhost [takeshi@localhost ~]$ [takeshi@localhost ~]$ [takeshi@localhost ~]$ [takeshi@localhost ~]$ [takeshi@localhost ~]$ env | sort CATALINA_HOME=/usr/local/tomcat CVS_RSH=ssh G_BROKEN_FILENAMES=1 HISTSIZE=1000 HOME=/home/takeshi HOSTNAME=localhost.localdomain INPUTRC=/etc/inputrc JAVA_HOME=/usr/java/jdk1.6.0_10 JRUBY_HOME=/usr/local/jruby LANG=ja_JP.UTF-8 LESSOPEN=|/usr/bin/lesspipe.sh %s LOGNAME=takeshi LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35: MAIL=/var/spool/mail/takeshi PATH=/usr/java/jdk1.6.0_10/bin:/home/takeshi/bin:/usr/java/jdk1.6.0_10/bin:/home/takeshi/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/jruby/bin:/usr/local/jruby/bin PWD=/home/takeshi SHELL=/bin/bash SHLVL=1 SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass SSH_CLIENT=127.0.0.1 37243 22 SSH_CONNECTION=127.0.0.1 37243 127.0.0.1 22 SSH_TTY=/dev/pts/6 TERM=xterm USER=takeshi _=/bin/env [takeshi@localhost ~]$
Net::SSHの場合
[takeshi@localhost ~]$ irb irb(main):001:0> require 'rubygems' require 'net/ssh' Net::SSH.start('localhost', 'takeshi', :password => 'password') do |session| puts session.exec('env | sort') end => true irb(main):002:0> => true irb(main):003:0> irb(main):004:1* irb(main):005:1> #<Net::SSH::Connection::Channel:0xb7ced83c> CVS_RSH=ssh G_BROKEN_FILENAMES=1 HOME=/home/takeshi LANG=ja_JP.UTF-8 LESSOPEN=|/usr/bin/lesspipe.sh %s LOGNAME=takeshi LS_COLORS= MAIL=/var/mail/takeshi PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin PWD=/home/takeshi SHELL=/bin/bash SHLVL=1 SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass SSH_CLIENT=127.0.0.1 41986 22 SSH_CONNECTION=127.0.0.1 41986 127.0.0.1 22 USER=takeshi _=/bin/env => nil irb(main):006:0>
これ同じマシンで動かした結果だぜ。
あー、本当によく分からん。/etc/ssh/sshd_configとか/etc/ssh/ssh_configとかも調べたけど、ローカルから環境変数を設定したい訳じゃないから、AcceptEnvとか特別なことをやるべきじゃないと思うんだけど、何か必要なのかなー。