使用iTerm2免密ssh登录服务器、配置快捷登录和挂载目录到本地

环境:MacOS + iTerm2 (+ zsh)

方法:利用公钥认证方式登录


1. 在本地机器创建公钥,所有提示一路回车:

ssh-keygen -t rsa


2. 将生成在~/.ssh目录下的公钥文件id_rsa.pub复制为目标服务器对应用户下的~/.ssh/authorized_keys文件:

scp ~/.ssh/id_rsa.pub username@host:~/.ssh/authorized_keys

上述username、host分别表示连接目标服务器的用户名、IP。

若提示目录不存在,先在服务器上创建.ssh目录:

mkdir .ssh

authorized_keys文件已存在,将id_rsa.pub中内容复制追加到已有内容后。

此时ssh username@host已经可以完成免密登录服务器。


3. 利用zsh配置快捷登录,即在.zshrc中配置快捷操作别名(new):

echo "alias new='ssh username@host'" >> ~/.zshrc

然后重新加载.zshrc文件:

source ~/.zshrc

就可以直接输入new完成登录。


4. 若没有使用zsh,是普通bash,可以在~/.ssh/config文件中添加服务器信息,文件不存在则新建,存在则追加,格式:

Host            new            #别名
HostName        host           #服务器IP
Port            port           #端口,默认22
User            username       #登录用户名
IdentityFile    ~/.ssh/id_rsa  #私钥文件,参加第一步

保存后,使用ssh new可以登录相应服务器。


5. 使用mac编写服务器上的代码,vim操作比较麻烦,采用sshfs将服务器相应目录挂载到本地,即可使用VS Code等工具打开编写、保存。

确保安装Homebrew,安装指令:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装sshfs的依赖和其本身:

brew install Caskroom/cask/osxfuse
brew install sshfs
使用sshfs挂载服务器目录:
sshfs username@host:remote_dir local_dir

remote_dir和local_dir分别指需要挂载的服务器目录和挂载到本地形成的本地目录。

使用完成后取消挂载:

umount local_dir

如果电脑休眠或重启导致挂载失效,且无法取消挂载,可以杀掉相应挂载进程:

pgrep -lf sshfs
pkill -9 sshfs


参考:https://blog.csdn.net/jobschen/article/details/52823980

         https://blog.csdn.net/zstu_zlj/article/details/53538816

         https://www.jianshu.com/p/8723ba79f35a

你可能感兴趣的:(MacOS)