Thursday 27 July 2017

Ubuntu linux copy and paste from one nano file to another nano file

In console mode without a mouse use the following to copy and paste:
  1. Launch nano in multi-buffer mode (nano -F)
  2. CTRL-K cut the line you need. (As this cuts the line don't save this file when you are finished)
  3. CTRL-R to open a file into a new buffer (you can type the full path ie /etc/this.conf)
  4. CTRL-U to paste in the opened file

Set up Raspberry Pi 3 on Wifi using WPA Enterprise (WPA-ENT) using mschap or WPA-PSK


Step 1. Setup authentication info


(credit to chatchavan)
Now, you should check what type of authentication your network use.
  • Personal: Typical home router require one password to connect. (Keywords: WPA, WPA2)
  • Enterprise: If you use the enterprise network, e.g., eduroam at the university, you will have user name and password. (Keywords: PEAP, MSCHAPV2)
For security reason, we will create a hash of your password. This hash will be used in the configuration file for the authentication info. This avoids saving your password in plain text.
At the command prompt create a MD4 hash of one of your password by entering the following command, typing your password and pressing enter:
(read -s PASS && echo -n $PASS | iconv -t utf16le | openssl md4 > hash.txt)
This will create a file called hash.txt within this you will see something like:
(stdin)= c612f89cd9678868a69e93beecfa10b6
You will need the bit after the equals sign.

Now you can add proper authentication info in the file /etc/wpa_supplicant/wpa_supplicant.conf. Use the following command to launch nano editor to edit this file.
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Here're what you should add (depending on the authentication type). Replace YOUR_NETWORK_NAMEYOUR_USER_NAMEYOUR_PASSWORD_HASH below. (Keep the quotation marks if present.) If you have multiple network configurations, you can also add multiple entries.
Personal authentication (WPA, WPA2)
network={
ssid="YOUR_NETWORK_NAME"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk="YOUR_NETWORK_PASSWORD"
}
Enterprise authentication (MSCHAPV2)
network={
ssid="YOUR_NETWORK_NAME"
proto=RSN
key_mgmt=WPA-EAP
pairwise=CCMP TKIP
group=CCMP TKIP
identity="YOUR_USER_NAME"
password=hash:YOUR_PASSWORD_HASH
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
For a thorough explanation about important keys in the settings, read [NetBeez's instruction].
Now, we have the authentication information ready.

Step 2. Ensure that the network interface use the authentication info

Here, you should edit /etc/network/interface. Find the section about wlan0 and replace it with one of the following configuration (again, depending on your authentication type).
Personal authentication (WPA, WPA2)
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
Enterprise authentication (MSCHAPV2)
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
 pre-up wpa_supplicant -B -Dwext -i wlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf
 post-down killall -q wpa_supplicant
Now, try bringing the network interface down and up again:
sudo ifdown wlan0
sudo ifup wlan0
The following error message should be ignored. It's a known bug upstream from Debian.
ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
If there's no error, you should be able to see the wireless adapter connected with the following command
iwconfig
The output will show the SSID and other connection info.
wlan0     IEEE 802.11bgn  ESSID:"YOUR_NETWORK_NAME"  Nickname:""
          Mode:Managed  Frequency:2.457 GHz  Access Point: XX:XX:XX:XX:XX:XX   
          Bit Rate:72.2 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
You should check if you have an IP address with the following command:
ifconfig
The wlan0 entry should have an IP address, like the following.
...
wlan0     Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX  
          inet addr:192.168.0.110  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:497 errors:0 dropped:32 overruns:0 frame:0
          TX packets:373 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:83237 (81.2 KiB)  TX bytes:60068 (58.6 KiB)
...
You should be able to ping Google.
sudo ping google.com

Wednesday 26 July 2017

Unable to map windows 10 to ubuntu samba share with \\hostname or \\fqdn ( system error 64 has occurred )


After migrating to Windows 10 one of the many issues I came across was being unable to map windows 10 to one of my ubuntu samba shares with \\hostname or a \\fqdn ( it was returning system error 64 has occurred and specified network name no longer available)

I found a fix by doing the following:


Start -> Settings -> Control Panel -> Administrative Tools -> Local Security Policy

Under Security Settings -> Local Policies -> Security Options

Set "Microsoft network client: Digitally sign communications (always)" to "Disabled"

Restart the computer

For reference: https://lists.samba.org/archive/samba/2011-April/162201.html

Unfortuantley whilst fixing one issue it highlighted another and that was not being able to communicate with one of my windows servers obviously requiring digital signing.

The root of the issue is that I am running Samba version 3.6.25, so I will update this to at least 4.3.11 as I know this works as per another Ubuntu server.

I will update this to confirm.