使用mac终端配置远程服务器免密登陆



过去我使用Royal TSX软件工具,来访问远程服务器,不过之后我们服务器增加了一个登陆时,需要输入服务器服务方发来的短信验证码。

在Terminal上需要输入一个短信验证码
Mac 配置远程服务器 - 免密登陆_服务器
但是在File Transfer上Royal TSX似乎无法提供输入验证码的界面,我在软件上找了半天,也没有找到解决方案。
Mac 配置远程服务器 - 免密登陆_文件复制_02
于是选择用mac自带的终端来访问远程服务器

ssh远程访问登陆,有二种登陆方法:

  • 1.ssh服务器ip,输入用户名+密码+验证码
  • 2.密钥验证(无需输入任何登陆信息,只需ssh直接进入服务器ip
2.1本地终端生成密钥并将公钥发给服务器,服务器将公钥保存
2.2本地终端登录服务器时,服务器生成随机字符串并用本地的公钥加密后,发给本地终端
2.3本地终端用私钥将其解密后发回给服务器,验证成功后,就可以登陆了

Mac 配置远程服务器 - 免密登陆_ssh_03

1.用户名+密码

第一种就很简单了直接输入命令

ssh -p [端口号] [username]@[ip]

之后,按提示输入密码,验证码就可以了。

如果要从服务器端退出到本地 输入命令

exit

2.远程免密

🍎2.1 在本地输入如下命令:

ssh-keygen -t rsa

按三次回车,完成生成本地私钥和公钥
Mac 配置远程服务器 - 免密登陆_服务器_04

🍏然后在本地root目录下,找到隐藏文件夹/root/.ssh/目录,可以找到刚才生成的私钥与公钥。
Mac 配置远程服务器 - 免密登陆_ssh_05
🍐同样在本地终端ssh文件夹目录上输入命令

ssh-copy-id [服务器ip]

Mac 配置远程服务器 - 免密登陆_ssh_06
🍊这个时候就成功将本地的公钥给到了服务器,在服务器的.ssh/authorized_keys

👍最后我们只需要在本地终端如下输入命令,就ok了

ssh [usename]@[ip]

3.远程文件传输

3.1 本地文件复制到服务器上

进入本地终端在对应目录下:我这里选的是data目录下的image.jpg文件,复制到服务器的data目录下。

[username]@ip:/data/ :表示的是服务器的地址
/User/data:表示的是本地的地址

scp  /User/data/image.jpg [username]@ip:/data/

3.2 服务器文件复制到本地上

同样也是在本地终端下进行:反过来我选择服务器data目录下的image.jpg文件,复制到本地的data目录下。

scp [username]@ip:/data/ /User/data/image.jpg

其实就是命令的服务器地址与本地地址互换位置就行