ラベル ssh の投稿を表示しています。 すべての投稿を表示
ラベル ssh の投稿を表示しています。 すべての投稿を表示

2016年9月29日木曜日

macOS SierraにアップグレードしたらSSHエージェント転送できなくなったよ

El CapitanからmacOS Sierrraにアップグレードして前回のアップグレードと違って問題ないなと思っていたら・・・ SSHエージェント転送できないじゃないですか。

sshのバージョンが変わったのか設定が変わったのかまでは調べてませんが、
次の設定を追加して無事完了です。

.ssh/config
AddKeysToAgent yes
いつもクリーンインストールしてますが、今回はこのまま次のバージョンまで使うかな。

追記

ssh -V
OpenSSH_7.2p2, LibreSSL 2.4.1
バージョンを確認したところ7.2だったので、おそらくこのバージョンからのオプション(新機能)が必要になったようです。
http://www.openssh.com/txt/release-7.2
New Features
------------

 * ssh(1): Add an AddKeysToAgent client option which can be set to
   'yes', 'no', 'ask', or 'confirm', and defaults to 'no'.  When
   enabled, a private key that is used during authentication will be
   added to ssh-agent if it is running (with confirmation enabled if
   set to 'confirm').
ただの新機能あるあるでした。失礼いたしました。

2016年7月31日日曜日

Windows10にアップグレードしたのですぐに開発で使えるようにした

Windows10の無料アップグレード終了前にWindows7, 8.1を駆け込みでアップグレードしました。

Windows7はアップグレードで、Windows8.1はクリーンインストールでWindows10構築しました。


これまでも何回かアップグレードにチャレンジしましたが、デバイスドライバやソフトが未対応で使えなかったので見送っていましたが、最後のチャレンジだと思って試したところ問題ありませんでした。ぎりぎりまでアップグレード見送ろうと思っていましたがやってよかったです。

ちなみに、未対応だったソフトやデバイスドライバは、ここでご紹介するものではありません。


すぐに仕事で使えるようにしたかったので、次の3つをすぐにインストールしました。

ただ、VSC以外はリリース版ではないので導入は自己責任になります。

  • win-sshfs
  • Rlogin
  • Visual Studio Code

Dokany 1.0.0-RC4

stableではないのですが、バグフィックスも進んでいるようです。

DokanSetup.exeをダウンロードしてインストールしました。

https://github.com/dokan-dev/dokany/releases

win-sshfs 1.6.0 RC2

https://github.com/Foreveryone-cz/win-sshfs/releases

release-1.6.0-rc2.zipをダウンロードして解凍、保存しました。


RLogin (2.20.6)

ターミナルはRloginを試してみました。

こちらも今のところ問題なく動作しています。

http://nanno.dip.jp/softlib/man/rlogin/

Visual Studio Code

エディターは、VSCを試しています。

https://www.visualstudio.com/ja-jp/products/code-vs.aspx

これいいですね。

昔はVisual Studioが最高だと思っていたこともあったので、そのクオリティーで今後もアップグレードされるのを期待します。


2014年3月7日金曜日

sftp接続できなくなった for Coda2

Vagrantで作業してたところ、Coda2というかsftp接続ができなくなった。
次のようなエラーメッセージが出ます。

Coda2のエラーメッセージ

サーバ “ホスト名” に接続できませんでした。
Unable to extract public key from private key file: Wrong passphrase or invalid/unrecognized private key file format

sftpコマンド試してみる

sshは接続できるので、sftpコマンドで接続したところ同様に接続できませんでした。
$ sftp 192.168.33.10
Received message too long 1433626990
Coda2のエラーメッセージと違いこちらはなんとなく原因がわかりました。 事前に設定していた.bashrcの内容をコメントアウトしたら無事接続できました。

rvmをコメントアウト

次の1行をコメントアウトしただけです。
rvm use 2.1.1
さすがにコメントアウトは不便なので、
sftp接続の時に処理されないように.bashrcを修正します。

.bashrcの修正

CentOSでsftp接続の場合は次の環境変数が設定されていたのでこれを使用して、.bashrcの先頭の方に次のように追記しました。
[ -z "$PS1" ] && return

ちなみに環境変数の差分取ってみたところ、
sftp接続限定の場合は、BASH_EXECUTION_STRING変数を利用してもよいかもしれません。
# CentOS6の場合
if [ "$BASH_EXECUTION_STRING" = "/usr/libexec/openssh/sftp-server" ]; then
 return
fi

# または正規表現でマッチさせる
if [[ "$BASH_EXECUTION_STRING" =~ sftp ]]; then
  return
fi

結論

対話的じゃないときは余計なことしないように、$PS1で条件分岐した方が無難ですね。
Debian Wheezyの/etc/bash.bashrc
# If not running interactively, don't do anything
[ -z "$PS1" ] && return

CentOS
/etc/bashrc
# are we an interactive shell?
if [ "$PS1" ]; then

OSX
/etc/bashrc
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
   return
fi

シェル環境を見直すよい機会となりました。