SSH

SSH接続で超つまづいたので、レポ。

ssh-keygen -t rsa<br>
chmod 600 id_rsa<br>
chmod 700 .<br>
秘密鍵と公開鍵作成して、アクセス権を変更する。
ここで、他人にアクセス権を与えると SSHアクセス時にPermission deniedというエラーが出るので注意。


次にリモート先のPC上にこのid_rsaを持ち込み、
cat id_rsa > authorized_keys
で公開鍵を追加。


ここまではすんなりいったのだが、
ssh 1xx.xxx.xx.xxx
ではPermission deniedと出てきてしまう。


何が原因か分からず悪戦苦闘してたのだが、
ssh user@1xx.xxx.xx.xxx
と user を指定するとSSH通信が成功した。。。
user: の画面が出てくることを期待していたのだが、そんなモノは出ないでいきなりエラーが吐かれるようだ。
これだけに超絶時間を費やした。。。orz

まとめると、userを指定しないとPermission denied というエラーが出る。
これは悔しい。


これで、
ssh testuser@1xx.xxx.xx.xxx
SSHアクセスできる。
しかし、これを何度も打つのは非常に面倒くさいので、 ~/.ssh/config を作成し、
HOST			test
HostName		1xx.xxx.xx.xxx
user			testuser
GatewayPorts		no
ForwardX11		yes
ForwardX11Trusted	yes
などと作ってあげる。
ForwardX11Trustedはemacsが起動しなかったのでやむを得ず。
xevでキーが取れちゃうので、デフォルトはnoにすべき。


で、次に文字コードの問題。
UbuntuUTF-8,リモート先のFreeBSDEUC-JPなので、cocotを使って文字化けを解消してあげる。

https://github.com/vmi/cocot からダウンロードしてきて、
.configure
make
sudo make install
でおk。


cocot -t UTF-8 -p EUC-JP ssh test
で、文字コードが解決されたSSH通信ができる。