On 04/11/2016 09:31 PM, David Wright
wrote:
On Mon 11 Apr 2016 at 19:02:45 (-0400), ken wrote:This is on Wheezy for a Raspberry Pi. Using dd, I copied the SD card for one (nicely working and configured) system onto another SD card. I want to use this second card for another system, so need to change the hostname and (static) IP address. Yesterday I grepped the whole system for one and then the other and where I found either, I made appropriate changes (i.e., previous hostname to new hostname, previous IP address to new IP address). I also zeroed out all text-based files in /var/log/ (e.g., >messages), just to start the new system with clean logs. Both the previous (still running) system and the new one (not yet running) are to be on the same LAN, so I'm pretty certain that no other networking configuration-- like broadcast or netmask-- needs to be touched (how could it need any?). Neither of these systems has any public-facing services currently running. My concerns are these: Only files which grep could find were amended. (Note that grep was run on the card when it was mounted on another system, not when the system on that card was booted and running.) Is there a file of some kind, perhaps, which encodes either the hostname and/or IP address in such a way that would hide it/them from grep?If you regenerate ssh keys, your .ssh/known_hosts files will have hostnames and IP numbers you might want to remove. They're encrypted. You could blank them like the log files. The key pairs themselves only have visible hostnames in the public part's file. Ah, yes! Thanks. Some brain cells knew that, but were sleeping. But actually I want to keep that ~/.ssh/known_hosts so I can ssh from this new RPi to the other machines on my LAN without having to reconfigure all that ssh stuff... one of the several time-saving reasons I'm (quasi-)duplicating the SD card. But you bring up a very good point: I don't want the new system to have the same /etc/ssh/ssh_host_*key* files that the previous system has. Though it might work okay, still I think the sshd host keys are meant to be unique across all LAN'd systems (ideally unique in the universe). So I think I need to do "rm etc/ssh/ssh_host_*key*" so that sshd knows they're gone; in the past IIRC these host keys were automatically created, probably done in the sshd script under init.d; I hope that it's the same under the new-fangled systemd code. Since people are supposed to be able (I think, never done) to take an SD out of one RPi and put and boot it in another RPi (with the same hardware), I didn't make any attempt to find and change any hardware designations, like the MAC address of the NIC. Is that okay? Your router may know IP#/MAC combinations for dhcp. I'm not using dhcpd on the router, so that won't affect me. But for those who do, if you can do "arp -a" on your router, that will show which MAC addresses are cached; "arp -d address" will delete that address's entry in the arp table, allowing/obligating the system to generate a/the new entry. Also IPv6 link-local addresses are generated from the MAC address (in case you've told them to any of your other machines). Again, not using that, but others may, so find the info useful. Thanks. Cheers, David. |