tak0kadaの何でもノート

発声練習、生存確認用。

医学関連は 医学ノート

SSHサーバーの設定

N54Lにつないでいるディスプレイは借り物なのでsshサーバーを立てて、ノートパソコンからリモートで接続できるようにした。telnetとかでも良いと思われるがどうせならそのうち公開してみたいのでsshを選択。

ネットワーク設定

  • サーバー設定

/etc/network/interfacesを編集して、固定IPアドレスを利用するように設定する。

慣れていない作業なのでバックアップを取っておく。(忘れていてやっていない)

cat /etc/network/interfaces > /etc/network/interfaces.original
# ループバックインターフェースについて。調べていないのでいじらない
auto lo
iface lo inet loopback

# em1の設定(eth0になっている環境も多い模様)
# iface em1 inet dhcp コメントアウトする
auto em1
iface em1 inet static
    address 192.168.0.11
    netmask 255.255.255.0
    gateway 192.168.0.1
    broadcast 192.168.0.255
    dns-nameserver 192.168.0.1

固定アドレス設定の際には、ルーターにアクセスしてdhcp割り当てされない範囲でアドレスを選択する。終わったらsudo /etc/init.d/networking restartする

auto em1は、抜けているとサーバーの起動時にem1が自動的に有効にならず毎回ログインしてifconfig em1 upすることになるので注意。*1

  • ルータ設定

dhcp割り当て範囲外なので関係ないが、一応ifconfigでmacアドレスを調べて登録しておく。ルーターは普通192.168.0.1からアクセスできる。

SSH

sudo apt-get install openssh-serverでopensshをインストール。

まずは/etc/ssh/sshd_configを編集する。

Port hoge <- 一般的に使われていない範囲で好きなポート
AuthorizedKeysFile %h/.ssh/authorized_keys
PasswordAuthentification no
PermitRootLogin no
PasswordAuthentication no

に設定。

次にssh用のキーを作っていく。(クライアント側の作業)

mkdir .ssh
chmod 700 .ssh
cd .ssh
ssh-keygen -t rsa -f id_rsa
cp .ssh/id_rsa.pub /media/__usb/id_rsa.pub
# 意識の高い鍵生成(https://qiita.com/wnoguchi/items/a72a042bb8159c35d056)
ssh-keygen -t ed25519 -f id_ed25519

id_rsa(秘密鍵)とid_rsa.pub(公開鍵)の2つのファイルができる。公開鍵の方をUSBメモリーでサーバに送る。

USBメモリーをマウント。(サーバー側の作業)

# sudo blkidを使っていたがlsblkの方が見やすい
lsblk
mkdir /media/usb
sudo mount /dev/sdx /media/usb

scpで送っても良い

scp id_rsa.pub username@remote.example.com:/.ssh/authorized_key
# scp id_rsa.pub n54l:/.ssh/authorized_key

.sshフォルダを作る

mkdir .ssh
chmod 700 .ssh
sudo mv /media/usb/id_rsa.pub .ssh/id_rsa.pub
cd .ssh

id_rsa.pubファイルをauthorized_keysに加える。

cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys

sshコマンドでアクセス(クライアント側の作業)

ssh -2 -i ~/.ssh/id_rsa -p port_number me@192.168.x.y

ログインに失敗しているとPermission denied (publickey)になるのでssh-add ~/.ssh/id_rsaする。

ログアウト

# どれでも可
exit
logout
C-d

ついでに.ssh/configを編集して簡単にログインできるようにする

Host    n54l
    HostName        192.168.x.y
    Port            hoge
    User            me
    IdentityFile    ~/.ssh/id_rsa

これでssh n54lでログインできる。パスワード認証のままのときは.sshのパーミッションかsshd_configを修正する (参考)。

wakeonlan

alias wakehp='wakeonlan 9c:b6:54:a9:03:51'

aliasコマンドは引数なしで実行すると設定されているコマンドが表示される。unailasで解除できる

参考

使ったサイト(内容に重複多い)

SSHを使ってパスワードなしで接続
ネットワーク接続の設定
Ubuntuで自宅サーバーを構築したログ
MicroserverにDebianを入れてNASにする
ubuntu serverの初期設定 ネットワーク編
SSHのセキュリティを高めるためのハウツー

今後お世話になりそう

多段SSHやポートフォワーディングを .ssh/config に書く <- 良い
sshクライアントの使い方と設定 <- samba周りの設定とかもある
無線LANの設定を「 /etc/network/interfaces 」に書く方法
LANDISK HACKING DIARY

欲しい本

もうしばらくググり力だけで運用して、慣れてきたら買うつもり

Ubuntu Server 実践バイブル