天天看点

linux ssh远程登录_mac实现ssh的免密远程登录

linux ssh远程登录_mac实现ssh的免密远程登录

笔者之前做计算需要用mac远程登录linux集群,由于每次登陆都需要重复输入命令:

ssh -p 22 [email protected]
           

以及密码,所以希望通过此篇文章记录下mac免密登陆的设置方法。

1.打开本地终端(Terminal),运行:(若本地有私匙和公匙则直接从第二步开始)
ssh-keygen
           

终端出现提示一:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/wangyaowei/.ssh/id_rsa):
           

点击回车:

终端出现提示二:

/Users/wangyaowei/.ssh/id_rsa already exists.
Overwrite (y/n)?
           

笔者之前已经设置过免密登陆,为了方便演示选择y,继续点击回车:

终端出现提示三:

Enter passphrase (empty for no passphrase):
           

无需设置密码,继续点击回车:

此时会生成一个.ssh目录,包含两个文件id_rsa以及id_rsa.pub。其中id_rsa是私钥,id_rsa.pub是公钥。(.ssh文件夹前面的点代表此文件夹是隐藏的,无法通过ls命令看到但可以用cd .ssh进入)

2进入.ssh目录,在当前目录下配置config文件。可以用vim命令新建一个名为“config”的文本,具体内容为:(需要根据自己的情况修改)
Host ji
HostName 10.11.11.3
Port 22
User um008
           

然后运行:

chmod 600 ~/.ssh/config
           

chmod是文件/目录权限设置命令,这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限。600代表只有属主有读写权限。权限必须设置为600,否则无法正常工作。

3.使用scp命令将” id_rsa.pub”文件拷贝到远端(集群),具体命令行为:

或者cat ” id_rsa.pub”,并将其copy到集群~/.ssh/authorized_keys文件中。

scp ~/.ssh/ id_rsa.pub [email protected]: ~/.ssh/
           

[email protected]需要根据自己的集群地址定义,之后登陆远端,仍需要输入密码。

4.登陆上远端之后,进入.ssh文件夹
cd ~/.ssh
           

将公匙” id_rsa.pub”改名为” authorized_keys”,运行:

mv id_rsa.pub authorized_keys
           

之后设置” authorized_keys”文件权限:

chmod 600 authorized_keys
           

退后远端后,即可用ssh ji命令在本地登陆远端集群。

Q:如果我集群的名字是ji12345678,,每次打这个名字还是很麻烦,该怎么办呀?

在第二步,配置”config”文件的时候,可以将Host后面的名字改成任意,如果喜欢改成1都可以。之后ssh 1即可登陆。

笔者是linux系统初学者,借此平台记录学习心得,争取每周更新一些关于python,linux以及计算材料学的相关知识,欢迎大家讨论。

继续阅读