{"id":1315,"date":"2022-05-08T00:09:22","date_gmt":"2022-05-08T06:09:22","guid":{"rendered":"https:\/\/www.schwie.com\/brad\/?p=1315"},"modified":"2024-11-08T22:32:06","modified_gmt":"2024-11-09T04:32:06","slug":"airport-time-capsule-ssh-access","status":"publish","type":"post","link":"https:\/\/www.schwie.com\/brad\/?p=1315","title":{"rendered":"AirPort Time Capsule ssh access"},"content":{"rendered":"<p>I&#8217;m trying to copy some Time Machine backups from one Time Capsule to another and permissions seem to be getting in my way. I&#8217;m hoping to circumvent this by using scp to copy files from one Time Capsule to another. Before I can do that, I need to get ssh access to each of the Time Capsules and I was having a heck of a time before I figured out a couple things.<\/p>\n<p>Following <a href=\"https:\/\/habr.com\/ru\/post\/501404\/\">these instructions<\/a> (converted to English) and this thread helped, but the acp and airpyrt scripts would error out. This <a href=\"https:\/\/github.com\/x56\/airpyrt-tools\/issues\/1\">thread<\/a> helped me learn that the airpyrt script cannot handle a number IP address, it must instead use the Time Capsule&#8217;s mDNS hostname AND for either acp or airpyrt the Time Capsule cannot have a password with special characters &#8211; I&#8217;ll report this back to Samuel in he or the other developers care to address it.<\/p>\n<p>If you&#8217;re hoping to use airpyrt and your Time Capsule&#8217;s local IP address is &#8220;10.0.1.15&#8221; (adjust to your fit in command below) you can obtain its mDNS name through the following Terminal.app command:<\/p>\n<p>dig -x 10.0.1.15 @224.0.0.251 -p 5353<\/p>\n<p>(the output from this command will show a Time Capsule name that ends in .local)<\/p>\n<p>In my case it was &#8220;Basement-Shop-AirPort-Time-Capsule.local&#8221; (I skipped the period after local).<\/p>\n<p>After revising my Time Capsules passwords to omit special characters, I then used the following commands to install acp or airpyrt (take your choice although acp should be newer and can roll with number IP addresses). I&#8217;ll refine the commands below when I try again from a Mac that is not yet configured to make these connections.<\/p>\n<p>First, I&#8217;m pretty sure we have to do this with Python 2, not 3, so <a href=\"https:\/\/stackoverflow.com\/questions\/18671253\/how-can-i-use-homebrew-to-install-both-python-2-and-3-on-mac\">use brew to install pyenv<\/a> and enable it in Bash shell:<\/p>\n<p>brew install pyenv<br \/>\neval &#8220;$(pyenv init -)&#8221;<br \/>\npyenv versions<br \/>\npyenv global 2.7.18<br \/>\npython &#8211;version<br \/>\npip install acp (might be able to skip this?)<br \/>\nnpm install &#8211;global node-acp (might be able to skip this)<\/p>\n<p>Or, if you prefer to use airpyrt, <a href=\"https:\/\/github.com\/samuelthomas2774\/airport\/wiki\/AirPyrt#installation\">follow these instructions<\/a>.<\/p>\n<p>I followed some additional advice here:<br \/>\n<a href=\"https:\/\/www.reddit.com\/r\/jailbreak\/comments\/f01d2r\/tutorial_how_to_jailbreak_an_apple_airport_device\/\">https:\/\/www.reddit.com\/r\/jailbreak\/comments\/f01d2r\/tutorial_how_to_jailbreak_an_apple_airport_device\/<\/a><br \/>\n<a href=\"https:\/\/sites.google.com\/site\/lapastenague\/a-deconstruction-of-routers-and-modems\/apple-time-capsule-repair\/change-country-on-airport-router\">https:\/\/sites.google.com\/site\/lapastenague\/a-deconstruction-of-routers-and-modems\/apple-time-capsule-repair\/change-country-on-airport-router<\/a><\/p>\n<p>To do cute things like get a list of all MAC addresses connected to an AirPort, Josh has a <a href=\"https:\/\/jcs.org\/2018\/06\/12\/airport_ssh\">ruby script<\/a>. And J\u00f6rg is trying to <a href=\"https:\/\/e17i.github.io\/articles-timecapsule-crossbuild\/\">mount the hard drive<\/a>. Ray has all kinds of <a href=\"https:\/\/sites.google.com\/site\/lapastenague\">good stuff<\/a> (link is likely broken, Ray disappeared?). Ray battles <a href=\"https:\/\/web.archive.org\/web\/20200723140742\/https:\/\/sites.google.com\/site\/lapastenague\/a-deconstruction-of-routers-and-modems\/apple-time-capsule-repair\/repair-ac-version-time-capsule-or-extreme\">power supplies and temperature issues<\/a> and changes <a href=\"https:\/\/web.archive.org\/web\/20220210180523\/https:\/\/sites.google.com\/site\/lapastenague\/a-deconstruction-of-routers-and-modems\/apple-time-capsule-repair\/change-country-on-airport-router\">country codes<\/a>. <\/p>\n<p>** Update 1-29-2024 **<br \/>\nTo connect with OpenSSH_9.4p1 or newer, I had to use:<\/p>\n<p><code>ssh -oHostKeyAlgorithms=+ssh-dss root@10.0.1.1<\/code><\/p>\n<p>** Update 10-4-2024 **<br \/>\nTo connect today, the above command worked until I disconnected and tried to reconnect. I don&#8217;t know why, but dropping the &#8220;+&#8221; symbol and using the following command helped to reconnect:<\/p>\n<p><code>ssh -oHostKeyAlgorithms=ssh-dss root@10.0.1.1<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m trying to copy some Time Machine backups from one Time Capsule to another and permissions seem to be getting in my way. I&#8217;m hoping to circumvent this by using scp to copy files from one Time Capsule to another. &hellip; <a href=\"https:\/\/www.schwie.com\/brad\/?p=1315\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1315","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.schwie.com\/brad\/index.php?rest_route=\/wp\/v2\/posts\/1315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.schwie.com\/brad\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.schwie.com\/brad\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.schwie.com\/brad\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.schwie.com\/brad\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1315"}],"version-history":[{"count":8,"href":"https:\/\/www.schwie.com\/brad\/index.php?rest_route=\/wp\/v2\/posts\/1315\/revisions"}],"predecessor-version":[{"id":1318,"href":"https:\/\/www.schwie.com\/brad\/index.php?rest_route=\/wp\/v2\/posts\/1315\/revisions\/1318"}],"wp:attachment":[{"href":"https:\/\/www.schwie.com\/brad\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.schwie.com\/brad\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.schwie.com\/brad\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}