摘要:將公鑰上傳到服務器使用腳本完成操作將以上代碼保存到本地,命名為,然后執(zhí)行,其中為登陸用戶名,為隨后會提示輸入遠程服務器密碼,密碼正確則自動登陸服務器并把公鑰文件復制到服務器。再次嘗試登陸服務器會發(fā)現(xiàn)已經(jīng)不需要密碼了。
Linux服務器每次登陸或者scp復制文件時都需要繁瑣的輸入密碼過程,而使用SSH Key來實現(xiàn)SSH無密碼登錄不僅免去了繁瑣的密碼輸入步驟,也為Linux服務器增加了又一道安全防線(可以禁用掉ssh-root密碼登錄).
很多文章介紹ssh無密碼登錄方式都有多個步驟,其實遠不必這么麻煩,接下來我們以windows系統(tǒng)cmder為例完成ssh無密碼登錄設置,要求下載的cmder為完整版。
SSH密鑰和公鑰是否存在?
首先看C:Users{用戶名}目錄下有沒有.ssh目錄,并且目錄中是否已經(jīng)存在id_rsa.pub文件,如果已經(jīng)有該文件,請?zhí)讲襟E3,請不要輕易刪除該文件,除非你知道該文件被覆蓋/刪除意味著什么。
生成SSH公鑰和密鑰文件
打開cmder,執(zhí)行:ssh-keygen -t rsa,按Enter鍵,輸入一個密碼,然后再次輸入同樣的密碼,密碼至少要20位長度,隨后就會在.ssh文件夾生成相對應的公私鑰文件。
將SSH公鑰上傳到Linux服務器
使用腳本完成操作
"""ssh-copy-id for Windows. Example usage: python ssh-copy-id.py ceilfors@my-remote-machine This script is dependent on msysgit by default as it requires scp and ssh. For convenience you can also try that comes http://bliker.github.io/cmder/. """ import argparse, os from subprocess import call def winToPosix(win): """Converts the specified windows path as a POSIX path in msysgit. Example: win: C:homeuser posix: /c/home/user """ posix = win.replace("", "/") return "/" + posix.replace(":", "", 1) parser = argparse.ArgumentParser() parser.add_argument("-i", "--identity_file", help="identity file, default to ~.sshidrsa.pub", default=os.environ["HOME"]+".sshid_rsa.pub") parser.add_argument("-d", "--dry", help="run in the dry run mode and display the running commands.", action="store_true") parser.add_argument("remote", metavar="user@machine") args = parser.parse_args() local_key = winToPosix(args.identity_file) remote_key = "~/temp_id_rsa.pub" # Copy the public key over to the remote temporarily scp_command = "scp {} {}:{}".format(local_key, args.remote, remote_key) print(scp_command) if not args.dry: call(scp_command) # Append the temporary copied public key to authorized_key file and then remove the temporary public key ssh_command = ("ssh {} " "mkdir ~/.ssh;" "touch ~/.ssh/authorized_keys;" "cat {} >> ~/.ssh/authorized_keys;" "rm {};").format(args.remote, remote_key, remote_key) print(ssh_command) if not args.dry: call(ssh_command)
將以上python代碼保存到本地,命名為ssh-copy-id.py,然后cmder執(zhí)行python ssh-copy-id root@xx.xx.xx.xx,其中root為登陸用戶名,xx.xx.xx.xx為IP
隨后會提示輸入遠程服務器密碼,密碼正確則自動登陸服務器并把公鑰文件復制到Linux服務器。再次嘗試登陸服務器會發(fā)現(xiàn)已經(jīng)不需要密碼了。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/42503.html
摘要:內(nèi)容提示阿里云服務器入門教程步驟遠程連接實例根據(jù)您本地的操作系統(tǒng),您可以從等操作系統(tǒng)連接實例。根據(jù)提示,分別輸入您的云服務器實例的用戶名和密碼。內(nèi)容提示:阿里云ECS服務器入門教程:步驟 3 遠程連接 Linux 實例 根據(jù)您本地的操作系統(tǒng),您可以從 Windows、Linux、Mac OS X 等操作系統(tǒng)連接 Linux 實例。本文介紹常用的連接服務器方式。更全面詳細的連接實例方式介紹,請...
摘要:第一步如何以最低價格快速買到阿里云服務器如果我是學生,我如何通過買到價值的服務答用購買云服務器是阿里云學生專屬活動。除阿里云外,大多數(shù)云服務器公司例如西部等同配置云服務器的價格都在左右。例如云服務器地址等。第一步:如何以最低價格快速買到阿里云服務器?1.1 如果我是學生,我如何通過¥9.9買到價值¥117的服務?答:用¥9.9購買云服務器ECS是阿里云學生專屬活動。首先,你需要在阿里云官網(wǎng)注...
閱讀 2233·2021-11-17 09:33
閱讀 2773·2021-11-12 10:36
閱讀 3395·2021-09-27 13:47
閱讀 883·2021-09-22 15:10
閱讀 3484·2021-09-09 11:51
閱讀 1391·2021-08-25 09:38
閱讀 2757·2019-08-30 15:55
閱讀 2607·2019-08-30 15:53