2016年12月2日のブックマーク (1件)

  • GoでSSHサーバにラインエディタが欲しいなら golang.org/x/crypto/ssh/terminal - Qiita

    はじめに GoはSSHサーバを書くのもかんたんです。ほとんどの場合、あなたのSSHサーバはユーザからのコマンド入力を受け付けるものでしょう。その場合、キー入力の列を文字列に変換するラインエディタと呼ばれるものが必要になります。Goではgolang.org/x/crypto/ssh/terminalがそれです。 SSHサーバを書く SSHサーバを書きましょう。GoでSSHサーバを書くにはgolang.org/x/crypto/sshを使います。 ここでは例として入力行を送り返すだけの単純なSSHサーバを考えます。120行ほどあるので、読み飛ばしてもらってかまいません。重要なポイントは以下の3点だけです。 プロンプトを表示する w.WriteString(prompt) ユーザの入力行を受け取る l, _, err := r.ReadLine() 入力行を送り返す w.WriteString(

    GoでSSHサーバにラインエディタが欲しいなら golang.org/x/crypto/ssh/terminal - Qiita
    ikawaha
    ikawaha 2016/12/02
    自分で書いたものと同じのが golang.org/x/ 以下にあったらある意味うれしいけどなw “GoにはSSHサーバのライブラリはあるが、併用するラインエディタが不足していると早とちりして自前で書いてしまったという失敗”