[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Clone SD card for new system <- Re: change hostname & static IP & ???

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

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.


Reply to: