Tag: linux

ssh: no kex alg

es kommt doch vor, dass man steinalte linux installation hueten muss.. 😉
wenn der ssh client zu alt ist fuer die ssh server, stolpert man ueber diese meldung:

no kex alg

dann muss man am ende der datei /etc/ssh/sshd_config diese zeile einfuegen und den sshd neu starten:

KexAlgorithms diffie-hellman-group1-sha1,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1

das sind alte ciphers, die irgendwann mal standardmaessig bei opsenssh rausgeschmissen wurden und als “potentially-incompatible changes” deklariert sind.

openvpn mit systemd

mit systemd ist alles anders… 🙁
hier nur meine notizen dazu.. ohne grosse erklaerung.

cd /etc/openvpn
ln -s server02/server02.ovpn server02.conf

verbindungsaufbau testen:

cd /etc/openvpn
openvpn --config server02.conf

um das dann automatisch starten zu lassen:

cd /lib/systemd/system
ln openvpn@.service openvpn@server02.service

testen…

systemctl start openvpn@server02.service
systemctl status openvpn@server02.service
systemctl stop openvpn@server02.service

wenn alles klappt, bei systemstart auch starten:

systemctl enable openvpn@server02.service

locale: Cannot set […] to default locale

bei irgendeinem debian server hatte ich beim installieren von paketen per ssh immer wieder solche meldungen:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

weg bekommt man das mit:

apt-get install locales
locale-gen en_US.UTF-8

und danach

dpkg-reconfigure locales

..und auswaehlen von “en_US.UTF-8”

proxmox cluster “waiting for quorum…”

nach einem freundlichen “pvecm add ip.add.re.ss” um einen weiteren node zu einem proxmox cluster hinzuzufuegen, bleibt der output da stehen:

~# pvecm add ip.add.re.ss
The authenticity of host 'ip.add.re.ss2 (ip.add.re.ss2)' can't be established.
ECDSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
root@ip.add.re.ss2's password: 
copy corosync auth key
stopping pve-cluster service
backup old database
waiting for quorum...

da musste ich in dem unglaublich guenstigen, managbaren switch von netgear das IGMP snooping abschalten, welches standardmaessig aktiviert ist.

20161205_igmpsnooping

…und schon gings weiter

ova in proxmox nutzen

proxmox hat keine native unterstuetzung fuer ova templates. eigentlich verwunderlich, da es sich bei ova ja schliesslich um ein “offenes” format handelt. damit das trotzdem funktioniert, muss ein wenig hand angelegt werden.

das zu verwendende ova file ist erstmal auf den proxmox server kopieren. eine ova datei ist eigentlich nur ein tar archiv mit einer image datei (vmdk) der festplatte und einer config datei im ovf format. hier am beispiel einer ova datei von OpenVAS

reinschauen kann man mal mit

tar -tf OpenVAS-8-DEMO-1.0.ova

als ausgabe kommt dann sowas:

OpenVAS-8-DEMO-VM-1.0.ovf
OpenVAS-8-DEMO-VM-1.0-disk1.vmdk

und dann entpacken geht mit

tar -xvf OpenVAS-8-DEMO-1.0.ova

erst dachte ich, dass man einfach die vmdk in proxmox als platte einbinden kann… aber dann kam nach einem versuch zu booten nur kauderwelsch auf dem bildschirm raus… also doch die vmdk nach qcow2 konvertieren:

qemu-img convert -O qcow2 OpenVAS-8-DEMO-VM-1.0-disk1.vmdk output.qcow2

die virtuelle maschine muss man dann in proxmox anlegen (ein blick in die ovf datei kann auch nicht schaden. stichworte E1000, IDE usw) und dann die zuvor erzeugte datei “output.qcow2” einfach ueber die von proxmox erstellte datei (mit dem entsprechenden namen) drueber kopieren…. und schon bootet die maschinerie. 🙂

exiftool: alle daten eines bildes anzeigen

das kann man z.b. mit einem kleinen perl script machen

#!/usr/bin/perl -w
use Image::ExifTool ':Public';
my $file = shift or die "Please specify filename";
my $info = ImageInfo($file);
foreach (keys %$info) {
    print "$_ : $info->{$_}\n";
}

bei einem stinknormalen handyfoto sieht das dann z.b. so aus… alphabetisch sortiert.

Aperture : 2.4
BitsPerSample : 8
ColorComponents : 3
ColorSpace : sRGB
ComponentsConfiguration : Y, Cb, Cr, -
Compression : JPEG (old-style)
CreateDate : 2016:10:29 21:41:48
CustomRendered : Normal
DateTimeOriginal : 2016:10:29 21:41:48
DigitalZoomRatio : 1
Directory : ../new
EncodingProcess : Baseline DCT, Huffman coding
ExifByteOrder : Little-endian (Intel, II)
ExifImageHeight : 1458
ExifImageWidth : 2592
ExifToolVersion : 10.10
ExifVersion : 0220
ExposureCompensation : 0
ExposureMode : Auto
ExposureTime : 1/16
FaceInfoLength : 26
FaceInfoOffset : 94
FacesDetected : 0
FileAccessDate : 2016:11:05 18:26:33+01:00
FileInodeChangeDate : 2016:11:05 18:19:25+01:00
FileModifyDate : 2016:10:29 22:41:51+02:00
FileName : DSC_1120.JPG
FilePermissions : rwx------
FileSize : 494 kB
FileTypeExtension : jpg
FileType : JPEG
Flash : No flash function
FlashpixVersion : 0100
FNumber : 2.4
FocalLength : 2.1 mm
FocalLength35efl : 2.1 mm
ImageHeight : 1458
ImageSize : 2592x1458
ImageWidth : 2592
InteropIndex : R98 - DCF basic file (sRGB)
InteropVersion : 0100
ISO : 800
LightSource : Unknown
LightValue : 3.5
Make : Sony
Megapixels : 3.8
MetaVersion : 
MeteringMode : Multi-segment
MIMEType : image/jpeg
Model : E5823
ModifyDate : 2016:10:29 21:41:48
Orientation (1) : Rotate 270 CW
Orientation : Rotate 270 CW
ResolutionUnit (1) : inches
ResolutionUnit : inches
SceneCaptureType : Portrait
ShutterSpeed : 1/16
ShutterSpeedValue : 1/16
SoftSkinEffect : Low
Software : 32.2.A.0.305_0_f500
SonyDateTime : 2016:10:29 21:41:48
SonyImageHeight : 1464
SonyImageWidth : 2592
SubjectDistanceRange : Unknown
SubSecCreateDate : 2016:10:29 21:41:48.658668
SubSecDateTimeOriginal : 2016:10:29 21:41:48.658668
SubSecModifyDate : 2016:10:29 21:41:48.658668
SubSecTime : 658668
SubSecTimeDigitized : 658668
SubSecTimeOriginal : 658668
ThumbnailImage : SCALAR(0x20ec6a0)
ThumbnailLength : 3889
ThumbnailOffset : 8814
WhiteBalance : Auto
XResolution (1) : 72
XResolution : 72
YCbCrPositioning : Centered
YCbCrSubSampling : YCbCr4:2:0 (2 2)
YResolution (1) : 72
YResolution : 72

datei datum als exif datum setzen

das commandline programm “exiftool” ist schon extrem cool 🙂

zuerst das “modify date” der datei in das “CreateDate” exif feld der datei kopieren

exiftool "-FileModifyDate>CreateDate" *.jpg

dann das “CreateDate” in die exif felder “DateTimeOriginal” und “ModifyDate” kopieren

exiftool "-CreateDate>DateTimeOriginal" *.jpg
exiftool "-CreateDate>ModifyDate" *.jpg

und da durch die zuvor abgesetzten befehle sich das “modify date” der datei geaendert hat, das einfach wieder zurueck setzen auf das “CreateDate” aus dem exif header

exiftool "-CreateDate>FileModifyDate" *.jpg

eine bestimmt zeile aus einer datei loeschen

wenn man auf der command line mal nur eine bestimmte zeile aus einer datei rausloeschen will, kann man sich dem kommando sed bedienen.

z.b. die zeile 217 aus der datei .ssh/known_hosts zu loeschen:

sed -i -e '217d' .ssh/known_hosts

so mach sed noch ein backup (plus “.bak” am ende) der datei

sed -i.bak -e '217d' .ssh/known_hosts

noch etwas schicker mit einem backup mit timestamp im dateinamen:

sed -i.$(date +%Y%m%d%H%M) -e '217d' .ssh/known_hosts

oder aber auch einen ganzen block (zeile 113 bis 118) und mehrere zeilen (217 und 329). man achte auf die verwendung von komma, semikolon und “d”

sed -i -e '113,118d;217d;329d' .ssh/known_hosts

ssh-copy-id mit anderem port

normalerweise nutzt man den befehl ssh-copy-id so:

ssh-copy-id -i path/my_id_rsa.pub user@host.tld 

wenn der zielserver allerdings einen vom standard (22) abweichenden port nutzt, dann kann es mit aelteren versionen des ssh-copy-id befehls probleme mit dem “-p” parameter geben. dann ist dieser mit dem hostnamen in hochkommata zu setzen:

ssh-copy-id -i path/my_id_rsa.pub "user@host.tld -p 19022"

linux mint 17 und aktueller owncloud client?

igendwie meckert mein owncloud client immer rum, dass er nicht aktuell waere. scheinbar funktioniert das updaten mit den “normalen” repositories nicht so dolle. kurz meinen freund G. befragt, was gefunden, ausprobiert, funktioniert! damits nicht verloren geht, nochmal hier:

wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/Ubuntu_14.04/Release.key
sudo apt-key add - < Release.key
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud-client.list"
sudo apt-get update
sudo apt-get install owncloud-client